15. 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를 진행하지 않는다.
코드에 변화가 있을 경우 로그
코드에 변화가 없을 경우 로그