본문 바로가기

도커

도커와 젠킨스로 스프링부트+그래들 프로젝트 배포(4/4) - 깃허브 webhook 설정

이 게시글은 도커와 젠킨스로 스프링부트+그래들 프로젝트 배포의 네번째 글입니다

이번엔 프로젝트의 깃허브에 push가 발생한다면 그것을 감지하고 젠킨스가 빌드 후 자동 배포하는것 해보겠습니다!

출처 : 위키백과

깃허브에 push가 발생하면 젠킨스가 자동으로 배포하기

제가 실습하는 환경입니다

서버 - AWS Lightsail
인스턴스 플랜 - $10 플랜 (메모리 : 2GB, 프로세스 : 1vCPU)
OS - Ubuntu 20.04 LTS (20년4월에 나온 Long Term Support할 예정인 버전)
터미널 클라이언트 - mobaXterm (putty같은 소프트웨어. 본인이 편한걸 사용하시면 됩니다. 큰 의미 없습니다)
패키지 관리자 - apt (콘솔or터미널에서 패키시 설치할때 사용하는 패키지 관리 도구)
도커 - Docker Community Edition 23.0.1

※참고 : 젠킨스를 사용하면서 메모리 사용량을 조회해 보니 컨테이너 실행만으로 600MB의 메모리를 사용하고 빌드 시 1GB 가까이 메모리를 사용합니다. 저는 아주 간단한 프로젝트를 빌드 했지만 프로젝트의 규모가 커질수록 메모리 사용량은 늘어날 것으로 보입니다. 이 점 서버 구성할 때 참고하세요! (AWS에서 프리 티어 플랜을 사용할 경우 작동이 원활하지 않을 수 있습니다.)

[더 좋은 방법이 있거나 의문, 수정사항 언제든 댓글 달아주세요.]

부가적인 설명에 대해서는 접은글로 적어두겠습니다 필요에따라 [더보기]를 눌러 확인해보세요.

1. 깃허브에서 webhook 설정하기

깃허브 레파지토리에서의 세팅 화면

세번째 글에서 사용했던 Pipeline script 의 CheckOut단계 에서 사용하던 레파지토리의 Settings에 들어갑니다

그리고 좌측에서 Webhooks를 선택하고 Payload URL에 

http://젠킨스가설치된서버:포트/github-webhook/

을 입력합니다!

이때 /github-webhook/ 를 모두 입력해주세요!

그리고나서 Add Webhook 버튼을 클릭하면 깃허브 설정은 끝입니다!

 

2. Pipeline 설정

pipline 설정에서 항목 체크

파이프라인 설정에서 

GitHub hook trigger for GITScm polling

항목을 체크하면됩니다!

이렇게 설정했다면 모든 세팅이 끝났습니다.

 

3. 자동배포 확인

이제 레파지토리에 새롭게 푸시를 해보겠습니다!

새로운 푸시

이렇게 새롭게 푸시를 한 다음 젠킨스를 확인해보면!

자동으로 배포중

제가 빌드를 실행하지않아도 자동으로 배포를 시작합니다!

 

이렇게 도커와 젠킨스로 스프링부트+그래들 프로젝트 배포가 끝났습니다!

사실 도커와 젠킨스를 사용하여 프로젝트를 배포하는 방법은 여러가지 방법이 존재합니다!

제가 한 방법은 그 중 가장 기본적인 방법 일 뿐 이 방법말고도 다른 여러가지 방법이 있을것입니다

그래도 이렇게라도 성공적으로 마무리돼서 즐겁지않나요!! ^^

도커와 젠킨스는 정말 공부할게 많~~이 있을테니

이번 게시글들 따라하신 분들은

도커와 젠킨스를 사용함에있어서 진입장벽이 조금이라도 낮아졌으면 좋겠네요! 

저도 이제 막 시작해서 열심히 공부해보려고 합니다! 같이 열심히 해봐요!