CICD 배포/CICD 배포

[ Jenkins ] GitHub webhook 설정

김붕어87 2023. 2. 9. 11:13
반응형
개요
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 흐름도

  1. branch : main에서 keycloak 폴더 밑에 있는 파일이 수정되면 keycloak-prod JOB 자동실행
  2. branch : develop에서 keycloak 폴더 밑에 있는 파일이 수정되면 keycloak-dev JOB 자동실행

 

Webhook Trigger 설정

  1. Generic webhook trigger 옵션 체크
  2. post content parrameters 옵션 체크
    1. variable : “folder”
      > Expression 값을 담을 변수 이름 설정
    2. Expression : “head_commit.modifiexd”
      > webhook JSON 내용 선택
      > head_commit.modifiexd은 변경되는 파일 위치

 

 

 

 

3. variable : "BRANCH"

4. Expression : $.ref
> branch 값

 

 

 

 

 

  • 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

 

반응형

'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