github jenkins webhook 사용

# github repository(저장소)에서 commit, push 등 이벤트가 발생할 경우 jenkins 로 알리는 webhook(웹훅)을 사용할 수 있다.

# 우선 jenkins 에서 github plugin 이 설치되어 있어야 한다.
https://wiki.jenkins.io/display/JENKINS/GitHub+Plugin

# 방법1
# jenkins job(잡) -> 구성 -> 빌드유발 -> Poll SCM 체크
# 이 방법은 주기적 폴링(체크)해야 하기 때문에 추천하지 않는다.

# 방법2
# github 저장소 설정에 jenkins hook url 을 설정한다.
github 저장소 -> setings -> integration&services -> add services -> jenkins(github plugin) -> jenkins hook url

# 그리고 jenkins job(잡) -> 구성 -> 빌드유발 에서 다음 항목을 체크한다.
GitHub hook trigger for GITScm polling

# 참고로 jenkins(github plugin) deprecated 되서 사용하지 않는것이 좋다.
Note: GitHub Services are being deprecated. Please contact your integrator for more information on how to migrate or replace a service with webhooks or GitHub Apps.

# 방법3
# 위 방법2은 github 저장소 설정에 jenkins(github plugin)를 다수 등록 수 없다.
# 그래서 2개 이상의 jenkins 서버를 사용하기 위해 웹훅으로 설정해야 한다.
# github 설정에서 web hook 추가
github 저장소 -> settings -> hooks -> webhooks -> add webhook
# 마지막은 /으로 끝나야 동작한다.
Payload URL : https://젠키스도메인/github-webhook/
Content type : application/x-www-form-urlencoded
Secret: 빈값
Let me select individual events.
Pull requests, Pushes ... 등 웹훅이 필요한 상황 체크
Recent Deliveries 에서 체크할 ping 결과를 테스트 할 수 있다.

# 그리고 jenkins job(잡) -> 구성 -> 빌드유발 에서 다음 항목을 체크한다.
GitHub hook trigger for GITScm polling

# pipeline 으로 구성한 잡의 경우 별도의 설정 없이 /github-webhook 으로 요청이 들오면 파이프라인이 시작된다.

# 이제 github(jenkins 잡에서 설정한 브랜치)에 푸시(github 에서 설정한 이벤트들) 이벤트가 발생하면 잡을 트리거할 수 있다.

comments:

댓글 쓰기