Jenkins

Jenkins - GitHub Webhooks 설정하기

thxxyj 2022. 10. 10. 22:54
728x90

GitHub에 push event 발생하면 Jenkins에서 자동으로 Build Trigger 하기위해 GitHub Webhook을 사용한다.

 * GitHub token / Jenkins Credentails Id  생성하는 방법: Jenkins - GitHub 연동하기

 

 

 

GitHub Webhook 추가하기  (GiHub Repository > Settings > Webhooks)

 - Payload URL : {Jenkins IP: Port}/github-webhook/

     * Payload URL에 http://locahost:{port번호} 또는 http://public-ip:{port번호}는 정상 동작하지 않음

     * Jenkins에서도 default Jenkins URL은 http://localhost:{port번호} 로 설정되어 있는데, 외부에서 접근할 수 있는 도메인이나 ip로 변경해야함. (아래 사진 참고)

Jenkins 관리 > 시스템 설정 > Jenkins Location

 - Content type : application/json


Jenkins Job 생성하기

  • Job style: Pipeline
  • General - GitHub project > Project url 입력  https://github.com/{User}/{Project}
  • Build Triggers - GitHub hook trigger for GITScm polling 선택

 

Pipeline script 예시

pipeline {
    agent any
    stages {
        stage('github hook') {
            steps {
                git branch: '{branchName}',
                    credentialsId: '{addedCredentialID}',
                    url: 'https://github.com/{userName}/{repo}.git'
            }
        }
    }
}

 

 

* Pipeline style이 아니라 Free Style Job으로 설정하는 방법: Jenkins - GitHub 연동하기  참고


commit 을 작성하면 Jenkins에서 Build Trigger 되는지 확인하기

 

commit 하고 바로 빌드가 된다..!

 

 

 

WebHook 이 잘 동작하면 GitHub > Webhooks > Recent Deliveries에서 확인할 수 있다

 

728x90

'Jenkins' 카테고리의 다른 글

[Jenkins] stage skip 하기 (when, if)  (0) 2022.11.16
[Jenkins] Setup Lockable Resource  (0) 2022.11.14
Jenkins 설치하기 (Ubuntu)  (0) 2022.10.11
Jenkins - GitHub 연동하기  (0) 2022.10.10
jenkins 계정 root 그룹 추가 (/etc/sudoers.d)  (0) 2022.10.01