반응형
개요
GitHub webhook이란 ?
GitHub repository에서 수정된 내용이 있으면 Jenkins으로 webhook을 보내서
Jenkins JOB이 자동으로 실행된다.
Generic Webhook Trigger 플러그인 설치
- GitHub Repository에서 폴더 별로 webhook을 전달하는 기능을 하지 못한다.
- GitHub Repository에서 변경된 내용이 있으면 webhook을 Jenkins으로 전달하고
Jenkins에서 webhook JSON 내용을 filter해서 JOB을 자동 실행 해야한다. - “Generic Webhook Trigger” 플러그인 설치 및 리부팅(Jenkins)
webhook trigger 흐름도
- branch : main에서 keycloak 폴더 밑에 있는 파일이 수정되면 keycloak-prod JOB 자동실행
- branch : develop에서 keycloak 폴더 밑에 있는 파일이 수정되면 keycloak-dev JOB 자동실행
Webhook Trigger 설정
- Generic webhook trigger 옵션 체크
- post content parrameters 옵션 체크
- variable : “folder”
> Expression 값을 담을 변수 이름 설정 - Expression : “head_commit.modifiexd”
> webhook JSON 내용 선택
> head_commit.modifiexd은 변경되는 파일 위치
- variable : “folder”

3. variable : "BRANCH"
4. Expression : $.ref
> branch 값

- webhook JSON 내용 확인하는 곳 : https://github.com/xxx/settings/hooks
> Playload 내용 확인


- Token : infra
> GitHub Webhook에서 해당 JOB으로 전달할 때 사용하는 Token이름

Optional filter
- Expression : 해당 값일 경우 JOB 실행
> keycloak 폴더에 내용이 변경될 경우
> branch가 main 일 경우 - Text : 위에서 설정한 변수 지정

GitHub PR 요청으로 webhook 설정
GitHub에서 PR 요청이 완료되어야지 webhook으로 JOB trigger 받을 수 있도록 설정 방법.
- 추가 설정
- Variable 추가
- PR
- head_commit.message
- Optional filter 추가
- (?=Merge pull request*)
- $PR
- Variable 추가

반응형
'CICD 배포 > CICD 배포' 카테고리의 다른 글
[ ARC ] Action Runner Controller - GitHub Token Key 발급 (0) | 2023.02.09 |
---|---|
[ ARC ] Action Runner Controller (GitHub) (0) | 2023.02.09 |
[ Jenkins ] 구성 (0) | 2023.02.09 |
ChartMuseum (0) | 2023.02.09 |
ArgoCD Vs Spinnaker 비교 (0) | 2023.02.09 |