티스토리 뷰

Github Webhook을 이용한 자동 빌드 환경 구축

먼저 젠킨스프로젝트와 Github저장소가 연동되어 있어야 됩니다. (젠킨스와 Github 연동하기)

Github 저장소와 젠킨스 프로젝트를 연동을 통해 빌드 환경을 구성 한 후, Github Webhook을 이용하여 Github 저장소에 push된 것이 있다면, 그 때 젠킨스가 polling하여 빌드를 실행하는 자동 빌드 환경을 구축한다.


Github프로젝트 Jenkins 서비스 추가

  • Github프로젝트의 Settings로 진입하여 왼쪽 메뉴의 Integrations & services 탭으로 진입하고, Add service 버튼을 클릭하여 jenkins 키워드로 검색한다. Jenkins(Github plugin)를 선택한다.


  • Jenkins hook url을 추가하는 란에 "http://{본인의 ip}:8080/jenkins/github-webhook/" 을 입력하고, Active에 체크 한 후 서비스를 추가한다.


Github프로젝트 Webhook 추가

  • 마찬가지로 Github프로젝트의 Setting에서 Webhooks 탭으로 진입한다. Add webhook 버튼을 누른다.


  • Payload URL에 "http://{본인의 ip}:8080/jenkins/github-webhook/" 입력하고, Content type을 선택한다. 아래의 Just the push event에 체크한 이유는 Github repo에 push 이벤트가 일어날 경우 이 웹훅을 유발시키기 위함이다. webhook을 추가한다.


젠킨스 프로젝트 구성의 Build Trigger 설정

  • 젠킨스 프로젝트의 구성 탭으로 이동하여, GITScm polling을 위한 Github hook trigger를 빌드 유발 설정으로 선택한다. 이 선택은 위의 SCM(소스 코드 관리) 탭에서 연동한 Github 저장소에서 push에 의한 hook 이벤트가 발생할 경우 저장소를 polling해서 젠킨스의 자동 빌드를 유발한다.

댓글
  • 프로필사진 안돼요 ㅠㅠ 안녕하세요 정보 감사합니다.
    그런데 지금은 integrations & services 탭이 이제 더이상 서비스 하지 않는다고 떠서 웹훅으로 똑같이 진행했는데 안되네요 ㅠㅠ
    이 부분 해결 방법좀 알 수 있을까요?
    2019.01.18 11:48
  • 프로필사진 nroo nroo 오 저도 보니까 탭이 deprecated 됐네요.. 그리고 replace a service with webhooks or GitHub Apps. 라고 되어있네요 :) 본인 Personal settings 탭에 가셔서 맨 아래 Developer settings 라는 탭이 있는데요 그 안에 Github Apps를 등록할 수 있는 탭이 생긴거 같아요. 해당 부분 참고해주세요~ 2019.01.18 11:59 신고
  • 프로필사진 Slow-Starter 안녕하세요
    공통적으로 여러문서를보다보면 payload url에
    젠킨스주소/github-webhook/ 이라고 url을 써주는데요
    url 뒤에 github-webhook을 왜 넣어주는지 깃헙의 webhook쪽 문서를 봐도 이유를 모르겟더라구여
    어떤이유에서 젠킨스 주소뒤에 저 URL이 붙는건지 알 수 있을까요?
    2020.10.30 11:47 신고
댓글쓰기 폼