Gitlab Jenkins webhook
젠킨슨, gitlab의 admin 계정 혹은 User계정이 생성을 완료 후 진행해야 한다
Jenkins에서 Gitlab 플러그인 다운로드

Dashboard > Jenkins 관리 > Plugins > Available Plugins에서 Gitlab을 다운로드한다
나는 이미 다운로드했기 때문에 나타나지 않는다

Installed 섹션에서 다음과 같이 활성화되어야 한다
다운로드 후 꼭 Jenkins를 restart 해주어야 Plugin 이 적용된다
Gitlab personal access token

Jeknins에서 Gitlab과 연동하기 위해서는 계정의 personal access token을 적용해야 한다
프로필에서 Edit profile로 들어간다

해당 영역에서 기간과 권한을 설정하여 personal access token를 발급하자
이 토큰은 1번밖에 볼 수 없으므로 미리 저장해놓거나 다른 페이지로 넘어가지 않도록 주의하자
personal access token Jenkins에 등록

젠킨슨에서 파이프라인을 생성한 후 Configure에서 Gitlab Connection을 확인할 수 있다
미리 Dashboard > Jenkins 관리 > Credentials에 등록하거나 해당 config에서 직접 등록할 수 있다
USer alternative credential 클릭 후에 Add를 눌러 Gitlab Api Token을 추가해주자

Kind에서 GItla API Token을 선택한다

아까 발급받은 Token을 넣어주고 ID를 정의해준다
ID는 Pipeline Syntax로 가져올 수 있는 변수 선언이라고 생각하면 된다.

추가한 해당 Token을 Test Connection을 통해 검증해볼 수 있다
Success가 출력되면 올바르게 적용한 것이다
Webhook 설정

Config 아래의 Build when~ 섹션을 클릭한다

고급을 눌러 설정은 필요한 것을 선택한다

아래로 내려보면 Secret Token을 Generate할 수 있는데, 해당 토큰을 Gitlab에 입력해주어야 Webhook이 설정된다

연동할 리포지토리에서 Setting > Webhooks 섹션으로 들어간다

Jenkins config 섹션에서 url을 Webhook에 입력해주어야 한다
해당 url은 트리거될 파이프라인의 url이다
Config에서 Generate할 Secret Token을 이곳에 입력해준다

나는 온프레미스의 환경이므로 SSL 인증은 생략했다
Webhook 테스트

등록이 안료되면 Test로 이벤트를 푸쉬하여 Jenkins의 파이프라인을 실행시켜볼 수 있다
Jenkins Config에서 설정한 트리거(git push origin main)과 같은 이벤트가 발생하면 jenkins 파이프라인을 자동으로 실행시킬 수 있다

해당 파이프라인 내에서 파이프라인의 가동을 확인해볼 수 있다
'DevOps(kubernetes)' 카테고리의 다른 글
[ArgoCD] k8s cluster와 연동하는법 [배스천 서버 Nodeport] (0) | 2024.08.13 |
---|---|
[k8s] 서비스 어카운트 트러블 및 SCC 부여 (0) | 2024.08.08 |
[k8s] Helm Chart로 Gitlab 배포하기(On-premise) (0) | 2024.08.08 |
[Linux] k8s에 도움되는 리눅스 명령어 (0) | 2024.08.08 |
[k8s] k8s 디버깅을 위한 kubectl 명령어 (0) | 2024.08.08 |