Spring Boot 게시판 만들기 16 - Github와 jenkins 연동하기

16. Github와 jenkins 연동하기

Github webhook

ngrok을 이용해 외부접근이 가능하도록 네트워크 열기

Push 이벤트가 일어났을 때 로컬 Jenkins가 해당 훅을 받기 위해서는 해당 네트워크(포트)를 외부접근이 가능하게 열어놔야 한다.
ngrok 프로그램을 사용해 Github로부터 hook을 받을 수 있도록 Jenkins 포트를 열어준다.

ngrok은 local PC를 외부에서 접근이 가능하도록 열어주는 프로그램이다.

Webhook 추가하기

Project Repository > settings > Webhooks > add webhook 로 이동해 Payload URL에 http://[서버 IP주소]:[Port번호]/github-webhook/ 형식으로 날릴 주소를 기입하도록한다. 반드시 주소 뒤에 /github-webhook/ 를 추가해야 한다.

Push가 일어났을 때 Payload URL(Jenkins)로 Hook을 날린다.

github에서 Webhook을 설정하면 github에서 hook을 날리는 것을 확인할 수 있다.


빌드 진행하기

Push 하기

ngrok 로그 확인

github로 push를 하게 되면 jenkins서버로 hook을 날리는 것을 확인할 수 있다.

build History 확인하기

jenkins에 새로운 build가 생성된 것을 확인할 수 있다.

콘솔 출력 확인

build가 정상적으로 이루어지고 있는지 아니면 오류가 발생했는지를 확인할 수 있다.

Github Hook Log 확인

코드에 변화가 있을 경우에는 jenkins에서 해당 프로젝트를 build하지만 코드에 변화가 없을 경우에는 build를 진행하지 않는다.

코드에 변화가 있을 경우 로그

코드에 변화가 없을 경우 로그

Share