다가오는 다음을 향해

[Jenkins GitHub] GitHub Webhook 설정 방법 본문

Jenkins

[Jenkins GitHub] GitHub Webhook 설정 방법

hyeseo 2024. 1. 2. 15:55
📖 Jenkins GitHub Webhook 설정 방법 안내

 

1. Jenkins key


# VPS 접속
ssh -i dev-sckey root@**.**.**.***

# 젠킨스 컨테이너 접속
docker exec -u 0 -it jenkins-dev /bin/bash

# .ssh 위치에 키 저장
mkdir /var/jenkins_home/.ssh
cd ./.ssh

# ssh 키 생성 (계속 엔터만 눌러도 된다.)
ssh-keygen -t rsa -f /var/jenkins_home/.ssh/jenkins_ci
# 공개키 내용 조회
cat /var/jenkins_home/.ssh/jenkins_ci

 

발급 성공 로그 일부 화면

 

2. Credentials 등록


발급받은 Jenkins key를 Credentials 등록 합니다.

  • 경로 : Dashboard > jenkins 관리 > Credential

[등록 완료 화면]

 

3. GitHub 공개키 등록


키를 생성한 /var/jenkins/.ssh/ 위치에 생성된 공개키(*.pub)의 내용을 cat 명령어로 확인한다.

# 공개키 내용 조회
cat /var/jenkins_home/.ssh/jenkins_ci.pub

 

GitHub> 프로젝트 repository > Settings 로 이동

 

하단 Deploy keys 선택

 

왼쪽 Deploy keys 탭 클릭 후, 우측 상단에 Add deploy key 버튼을 눌러 새로운 키를 설정한다.

 

4. GitHub Webhook 설정


GitHub에서 Push 작업 시, Jenkins에 알림이 가도록 설정

기본적으로 Jenkins에 github plugin 가 설치되어 있기 때문에 GitHub에서만 설정해주면 바로 사용 가능

 

왼쪽에 Webhooks 탭 클릭 후, 우측 상단에 Add webhook 버튼을 눌러 새로운 웹 훅을 설정

Payload URL 항목에[jenkins주소:port]/github-webhook/ 을 입력 합니다.

 

Which events would you like to trigger this webhook? 에서 원하는 옵션 설정

  • Just the push event: push 이벤트 발생 시 자동배포
  • Let me select individual events : merge, pr 등 원하는 옵션 선택

Add webhook 버튼을 눌러서 추가합니다.

 

 

Jenkins Job 설정 에서 GitHub hook trigger for GITScm polling 을 체크 후 저장

 

설정 완료 후 push 이벤트가 있을 때 자동 빌드 화면