GitHub에서 Webhook을 추가하면 처음에는 설정한 URL로 ping을 보내어 확인한다.
그러나 나는 ping 메시지부터 jenkins 서버로부터 응답받지 못했다...
그래서 URL도 살펴보고, Webhook을 여러번 다시 생성했지만 해결되지 않았다...
이 문제의 원인
은 Webhook
을 보내는 GitHub IP
에 대해 Jenkins
와 SSH
포트에 접근을 막았기 때문
이다.
이 문제를 해결
하기 위해서는 GitHub의 IP 대역
을 AWS EC2
보안 그룹
에서 인바운드 규칙
을 허용
해주면 된다!
이제 자세한 방법을 살펴보자.
"hooks": [
"192.30.252.0/22",
"185.199.108.0/22",
"140.82.112.0/20",
"143.55.64.0/20",
"2a0a:a440::/29",
"2606:50c0::/32"
],
이렇게 위의 IP들에게 22
번 포트 (SSH
)와 Jenkins
포트를 허용시켜주면 된다!
ping
도 잘 보내지고, main branch에 merge
할 때도 Jenkins
로 잘 보내졌다!