SY 개발일지
article thumbnail

다음과 같이 빌드가 잘 되는 것을 확인하였습니다. 그러면 이제 github 특정 브랜치에 커밋 이벤트가 발생하면 자동으로 배포가 되는 로직을 만들어 주겠습니다. 이러한 로직은 WebHooks를 통해 이루어집니다.

 

저의 경우에는 master 브런치에 커밋이 푸시될 때 배포가 되도록 하겠습니다.

 

젠킨스 설정

플러그인 설치

우선 웹 훅을 이용하기 위해 Generic Webhook Trigger 라는 플러그인을 설치해주도록 하겠습니다.

파이프라인 설정

이전에 설정한 파이프라인을 수정해보도록 하겠습니다.

파이프라인의 상세 내용에 build triggers를 보면 generic Webhook Trigger가 추가된 것을 확인할 수 있습니다.

 

먼저 Post content parameters를 입력해보도록 하겠습니다.

 

위에서 선언한 변수(ref)가 refs/heads/master일 때만 가능하도록 필터링을 걸어주었습니다. 

저 경우는 master 브런치일 때를 가정하고 있으며, 더 정확한 문법은 더 검색해주세요.ㅎㅎ

 

그리고, token의 경우 이전에 등록한 github token을 사용해주도록 하겠습니다!

깃허브 토큰이 없으신 분들은 다음 포스팅을 참고해주세요 

https://soyeonnnb.tistory.com/136

 

[CI/CD] 도커와 젠킨스를 통해 스프링부트 배포하기 with Github

이번 포스팅에서는 깃허브에 있는 스프링부트 코드를 Webhooks를 이용해 배포해보도록 하겠습니다. 젠킨스 안에 도커 인 도커 설치젠킨스를 설치할 때 해당 옵션을 추가하였습니다. 이는 도커 인

soyeonnnb.tistory.com

 

 

마지막으로 해당 옵션도 체크해주시면 끝입니다 !

깃허브 훅을 사용하겠다는 옵션입니다 !!

 

레포지토리 WebHook 설정

이번에는 레포지토리에서 웹 훅을 날려보도록 하겠습니다.

레포지토리 > Settings > Webhooks > Add webhook을 클릭합니다.

 

Payload URL 에는 젠킨스 서버 주소 + /generic-webhook-trigger/invoke?token=TOKEN을,

Content type은 application/json 을 선택합니다.

여기서 TOKEN은 github token에 있는 값을 입력해주시면 됩니다.

 

이벤트 발생 조건의 경우 마스터 branch 에 pr이 발생할 때마다 웹 훅을 날려줄 것이기 때문에 그냥 첫번째꺼만 선택하겠습니다.

 

그리고 Add webhook을 하시면 됩니다.

 

이제 레포지토리에서 커밋을 푸시하게 되면, 젠킨스에서 잘 빌드됨을 확인할 수 있습니다.

깃허브 웹 훅에서도 200이 발생하여 정상 작동하였습니다.

 

 

 

여기까지가 백엔드 자동배포 로직 구현이었습니다.

다음은 프론트엔드(React) 자동배포를 해보도록 하겠습니다.

profile

SY 개발일지

@SY 키키

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!