본문 바로가기
Infra/Jenkins

[Jenkins] Jenkins & Github 연동 및 자동배포 구성하기 2

by dbjh 2020. 12. 30.
반응형

이번글에서는 github의 특정 repository에 push가 발생했을때, jenkins가 상황을 인지하고 배포하는 과정에 대해 알아보도록하자.

출처 : 구글검색

1. Github Webhook 세팅

Webhook 이란?

 

웹훅이란?

위 사진은 웹훅을 정말 잘 설명해주고 있다.

simsimjae.medium.com

우선, Webhook 설정을 위해 jenkins 메인 대시보드에서 아래의 경로로 이동하도록하자 (Jenkins 관리 > 시스템 설정)

시스템설정 페이지로 이동

Jenkins URL로 Github에서 요청이들어올 것이다. 이 부분을 확인하도록하자.

Jenkins URL 확인

 

확인 후에 Webhook을 설정할 깃허브 레포지토리에서 아래와 같은 경로로 이동하도록하자.
(Settings > Webhooks > Add webhook)

Add Webhook

해당 페이지로 이동하면 Payload URL을 입력해야 하는데, 위에서 확인했던 Jenkins URL/github-webhook/을 입력해주도록 하자.
아래와 같이 입력하고, Content typeapplication/json으로 설정해주도록하자.

Jenkins URL 입력 및 Content type 설정 후 추가

추가 버튼을 누르게 되면 아래와 같이 추가된 Webhook을 확인할 수 있다.

추가된 Webhook 확인


 

2. Jenkins Webhook 세팅

Github의 Webhook 설정이 다 되었다면 Jenkins에서 설정을 하도록하자.

Jenkins와 github를 연동하기 위해서 플러그인을 설치해야하는데, 해당 플러그인은 jenkins에서 지원해주기 때문에 간단하게 설치할 수 있다. 우선 Jenkins 관리 > 플러그인 관리로 이동하도록하자.

플러그인 관리 페이지로 이동

그런 후에  설치가능 탭에서 Github Integration을 검색하고 설치하도록하자(필자는 이미 설치되었기 때문에 노출안됨)

Github Integration 설치

설치가 완료되었다면, 젠킨스에서 생성해둔 프로젝트 페이지로 이동하고 "구성" 메뉴로 이동하도록 하자.

프로젝트 구성 페이지로 이동

그리고 Github에서 push가 발생했을때 자동으로 빌드를 할 수 있도록 아래와 같이 설정하도록 하자.
(빌드 유발 > GitHub hook trigger for GITScm polling)

빌드 유발 탭에서 설정

여기 까지 설정이 끝났다면, jenkins와 연동한 github repository로 push해보도록하자. 그러면 jenkins에서 빌드이력이 생성된 것을 확인할 수 있다. (push된 commit의 hash값과 젠킨스 로그에 남은 hash 값을 비교하면됨)

표시된 부분에서 빌드 확인

 

push된 commit의 hash값
jenkins로그에 남은 hash값

webhook을 시도한 이력을 확인하려면 github에서 webhook을 등록했던 페이지 에서 확인이 가능하다.

Webhook을 시도한 이력

여기까지 확인이 되었다면,
다음 글에서는 jenkins에서 스프링부트 프로젝트를 github에서 가져와 빌드한 후 원격 서버로 .jar파일 형태로 전송하여 해당 .jar파일을 실행시키는 과정에 대해 알아보도록하자.

 

다음글

 

[Jenkins] Jenkins & Github 연동 및 자동배포 구성하기 3

이번 글에서는 jenkins에서 스프링부트 프로젝트를 github에서 가져와 빌드한 후 특정 서버로 .jar파일 형태로 전송하여 해당 .jar파일을 실행시키는 과정에 대해 알아보도록하자. (이 글에서 실습한

dbjh.tistory.com

 

반응형

댓글