[Jenkins] GitLab Webhooks를 이용한 젠킨스 연동 및 빌드유발
Summary |
Gitlab의 Webhooks은 프로젝트 내에서 어떠한 일이 발생할 때, 이벤트를 바인딩 하는데 사용 할 수 있습니다.
이 기능을 이용하면, 다양한 Event를 발생 시킬 수 있는데요.
Gitlab에 있는 Webhooks 를 이용해서 Push Event를 보내 Jenkins의 빌드를 유발시킬 수 있는 내용을 정리했습니다.
젠킨스 버전은 Jenkins 2.399 을 사용하고 있어서 UI 및 PlugIn 내용이 조금 다를수 있으니 참고해주세요.
## PlugIn 설치 |
먼저 Jenkins에서 Plugin을 하나 설치 해야 하는데요. 이전 버전에서는 해당 플러그인이 아니였었는데,
바뀐 Jenkins 버전에서는 Gitlab Plugin 으로 통합된 거 같습니다.
문서를 자세히 보지 않았으나, 해당 플러그인을 설치해주니,
Gitlab의 Webhooks 이벤트를 받을 수 있는 설정화면을 찾을 수 있었어요.
## 프로젝트 구성 수정 |
해당 플러그인을 설치하면, 그 전에 보이지 않았던, 빌드유발 메뉴에 선택사항이 하나 추가 됩니다.
Build when a change is pushed to GitLab. GitLab webhook URL: xxx
바로 위 내용인데요. 변경사항이 GitLab에 푸쉬될때 빌드 된다는 내용이며, 별도의 URL을 제공해줍니다.
URL 내용이, GitLab 설정시 필요하니 확인해주시면 됩니다.
http://000.000.000.000:8080/project/<ProjectName>
해당 메뉴를 선택하면, 위 화면같이 추가 구성이 나오게 되는데요.
저희는 Push Events 를 사용할 것이여서, Default 로 선택되어져 있는 체크박스를 유지해주시면 됩니다.
그리고 아래에 있는 고급 탭을 선택해줍니다.
고급탭 선택시, 하단에 Secret Token 이 보여지게 되는데요. Default 로 빈값이 존재합니다.
이때 Generate 버튼을 클릭하면, 문자열이 생성이 되는데요. 이 값도 GitLab 설정시 필요한 값이니 적어둡니다.
## GitLab WebHook 설정 |
Jenkins 에서 설정이 완료가 되었다면, 이제는 GitLab에서 설정을 해주면 되는데요.
프로젝트 설정 화면에 있는 Settings 메뉴의 Integrations 메뉴에서 Webhooks 를 설정 할 수 있습니다.
해당 화면에서, Jenkins에서 체크한 URL 및 Secret Token 값을 입력해주고,
Push Event를 체크하며, 어떠한 branch 에 push가 발생했을때 Push Event 를 발생할지 입력해줍니다.
저의 경우에는 dev 브런치를 이용하고 있어서 dev를 입력했습니다.
그리고 하단에 Add webhook 버튼을 클릭해주면 기본적인 설정은 완료가 됩니다.
## WebHook 테스트 |
설정이 완료가 되었다면, Push Events 가 잘 발생이 되는지 테스트를 해 볼 수 있는데요.
위 화면처럼 Test 드롭다운 박스를 클릭하면, Push Event 및 다양한 테스트를 해볼 수 있습니다.
해당 이벤트를 클릭하면, Jenkins에 정상적으로 빌드가 유발되는 화면을 확인 할 수 있습니다.
이렇게 설정을 해 놓으면,
GitLab repository 'dev' 브런치에 push 를 할 경우, 자동적으로 Jenkins 가 호출이 되고요.
이를 이용해서 자동 빌드 및 배포, 다양한 기능을 활용할 수 있으니, 꼭 한번 활용해 보시면 좋을거 같습니다.
참조 |
END
'CI' 카테고리의 다른 글
[Jenkins] GitLab API PlugIn을 이용한, 외부에서 젠킨스 빌드 유발하는 방법 - 2.4 버전 이상 (0) | 2023.11.27 |
---|---|
[Jenkins] 젠킨스 Agent 노드 추가 및 설정 방법 (1) | 2023.05.23 |
[Jenkins] Jenkins 복구 후, git cloning remote repo 'origin' 오류 해결 (0) | 2023.05.02 |
[Jenkins] 외부에서 Jenkins 호출하기 (0) | 2023.04.03 |
[Jenkins] 매개변수를 이용한 Git Tag 빌드 (0) | 2023.01.11 |