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로 변경해야함. (아래 사진 참고)
- 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 되는지 확인하기
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 |