티스토리 뷰

DevOps/Jenkins

[Jenkins] Git webhook 설정하기.

종벌🍀 2023. 3. 27. 14:15
반응형

 

 

 

jenkins

 

깃에 프로젝트가 존재하고 서버에 젠킨스가 설치되고 셋팅되어 있다는 전제하에 진행하도록 하겠습니다.

 

설정해보니 아래와 같은 진행순서를 가지면 될 것 같네요.

 

  1. Jenkins - Github 연결 설정
  2. Github Webhook 설정 
  3. 서버 방화벽 설정

 

 

 

 

 


1. Jenkins - Github 연결

 

#. Jenkins 관리 클릭

 

 

#. 시스템 설정 클릭!

 

 

 

밑에 내려가보면 GitHub Server 설정하는 항목이 보입니다.

 

#. GitHub Server 설정

 

 

 

Credentials 밑에 +Add 를 선택하면 인증정보를 기입할 수 있습니다.

 

#. add credentials 기입

 

 

인증방식을 Secret Text 로 선택하고 사용하던 Personal access tokens를 입력해줍니다.

 

 

저는 Jenkins hook 용 토큰을 새로 만들어보겠습니다.

repo와 admin:repo_hook 정도의 권한만 할당하여 생성했습니다.

 

#. github - Developer settings - Personal access tokens

 

 

 

#. 인증정보를 설정하고 테스트로 확인!

 

 

그럼 이제 젠킨스에 git과 통신하는 hook URL이 설정되었습니다. (default 값)

http://localhost:port/github-webhook/

 

 

 

 

 

 

 

 

 


2. Github webhook 설정

 

깃 프로젝트 settings에 가면

 

#. settings - webhooks

 

#. add webhook

 

 

#. webhook 등록

 

Payload URL 에 젠킨스 서버 IP:포트 또는 도메인 입력해주시면 됩니다.

 

 

그러면 깃에서 이제 테스팅을 진행하는데 저는 처음에 아래와 같은 오류가 났습니다.

 

 

#. 오류...

 

 

host 와 커넥션 오류나서 깃 쪽에서 젠킨스 서버로 인바운드가 안될 것 같다는 생각에

방화벽에 깃 hook ip 리스트를 등록해줬습니다.

 

아래에 접속하시면 깃 관련 IP 리스트가 나오는데

저는 그중 hook ip 리스트만 방화벽에 등록했습니다.

 

https://api.github.com/meta

 

"hooks": [
    "192.30.252.0/22",
    "185.199.108.0/22",
    "140.82.112.0/20",
    "143.55.64.0/20",
    "2a0a:a440::/29",
    "2606:50c0::/32"
  ]

 

 

그리고 다시 Redeliver 버튼을 클릭하여 재연결 하였더니

 

 

잘 연결 성공된 것을 확인하였습니다.

 

 

 

 

이제 깃 프로젝트 main 브런치 push 를 통해 자동 빌드배포가 되는지 확인해 보면 됩니다!

 

 

젠킨스 프로젝트 아이템 구성할때 깃 프로젝트랑 깃 레포지토리 연결 해주시고 

빌드 유발에서 아래와 같이 hook 에 체크를 해주면

push 하면 젠킨스가 알아서 빌드를 실행하는 것을 볼 수 있습니다.

 

 

#. 빌드유발 webhook

 

 

 

 

 

 

728x90
반응형
댓글
최근에 올라온 글
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Total
Today
Yesterday