개발노트

4. [Jenkins] Git Hub WebHook 설정하기 본문

형상 관리/Jenkins

4. [Jenkins] Git Hub WebHook 설정하기

mroh1226 2022. 4. 8. 16:38
반응형

*WebHook을 연결하기전 준비

 

개발자가 Repository(GitHub)로 Push하면 WebHook이 발생하고 Jenkins가 GitHub에서 발생된 WebHook을 알아차리고 자동으로 빌드하는 기능을 만들어본다.

 

다만, WebHook을 설정하기 위해서는 Jenkins 주소가 Public해야한다.

 

localhost:Port 로는 WebHook 설정이 불가능하다는 이야기이다.

 

이를 해결하기 위해 포트포워딩(보안 취약)이나 ngrok(8시간 무료버전), localtunnel같은 툴을 설치하여 localhost를 외부에서 접속할 수 있도록 만들어줘야한다.


그렇다면 그나마 보안에 덜 취약한 localhost 나 ngrok를 외부에서도 접근할 수있도록 미리 설정을 해보자.


*localtunnel와 ngrok 설치법은 이전 포스팅을 참고하시기 바랍니다.

 

 

 

ngrok 설치 및 사용법 (localhost를 Public하게 만드는 법)

ngrok는 localhost를 외부에서 접속해야 테스크가 가능할때 사용하면 좋다. 1. 설치링크로 가서 ngrok를 다운받거나 npm으로 다운받을수있다. 1) 설치링크로 다운받기 https://dashboard.ngrok.com/get-started/se..

mroh1226.tistory.com

 

 

 

localtunnel 설치하기 (localhost 를 Public IP로 만들기)

개발을 하다보면 테스트를 위해 localhost를 외부에서 접근해야할 때가 있다. 이를 해결해주는 것 중 localtunnel이라는 오픈소스를 이용해본다. localtunnel을 윈도우에서 사용하려면 node.js 와 NPM이 설

mroh1226.tistory.com

 


 

 


Webhook 연결하기

 

1. GitHub에 있는 프로젝트에 접속한다.

2. 우측상단에 Settings를 클릭한다.


3.Webhooks > Add webhook 버튼 클릭


4. localtunnel 나 ngrok 외부 도메인을 생성한다. (생성법은 이전 포스팅에 있음)

 

5. Payload URL에 아래 형식과 같이 입력하고 Content Type을 application/json으로 체크한 뒤,Webhook을 만든다.

- payload URL 형식: "생성된 도메인" + "ngrok의 Port" + "github-webhook"   
 예시) http://hello.co.kr:80/github-webhook/

 


6. 젠킨스 프로젝트 > 구성로 들아가서 아래 항목을 체크해준다.

- GitHub hook trigger for GITScm polling


7. VisualStudio로 가서 소스수정 후, 커밋, Push를 GitHub로 보내본다.

 


8. 젠킨스가 바로 빌드를 한다.


9. 콘솔 아웃으로 가서 빌드된 정보를 확인한다.

  1)  누가 Push 했는지 나옴

  2) 사용된 Credential

  3) Visual Studio에서 적었던 Commit Massage

  4) 알림이 전송된 E-mail


 

 

*아래와 같이 화난 젠킨스가 나오면 명령이 정상작동하지 않은 것이다.


 

여기까지 완료했다면 DevOps에서 CI까지 완료된 것입니다.

 

다음시간에는 CD를 구축해보겠습니다. (추가로, SSH로 CI구축도)

반응형
Comments