깃랩과 젠킨스 연동

bob_ssso·2021년 7월 8일
0

CI/CD

목록 보기
8/10

🥸 깃랩에서 Access Token 발급하기

'Settings > Access Tokens'에 들어가서 Project Access Tokens를 생성한다. 이름을 입력하고 'api', 'read api', 'read_repository'를 선택하고 생성한다.

그럼 아래 사진같이 access token이 나오는데 이를 복사해두고 나중에 파이프라인과 Credential 발급에서 써야하니 까먹지 말자!

🥸 웹훅 만들기

1. 젠킨스 준비시키기

A. 프로젝트 생성하기

  • 젠킨스에서 '새로운 Item'을 클릭해 파이프 라인 프로젝트를 생성한다! 생성된 프로젝트를 홈화면에서 확인한다.
  • 프로젝트의 이름을 클릭해 톱니바퀴 모양의 '구성'을 클릭한다.

B. 프로젝트의 Build Triggers

  • 깃랩에서 젠킨스에 트리거를 전송하려면 젠킨스에서 제공하는 secret token이 필요하다. Build triggers 항목의 ‘Build when a change is pushed to Gitlab. URL: 블라블라’ 를 체크하고 밑에 있는 Advanced를 눌러 상세 설정에 들어가자.

  • 현재 가려놓은 부분은 이 젠킨스 아이템의 URL인데 나중에 깃랩에서 연동할 때 저 주소도 같이 입력해야 한다. 기억해두자.

  • 확장된 탭을 보면 secret token 이라는 항목이 있다. Generate를 눌러 토큰을 생성하자. 토큰을 복사해서 잘 저장한 뒤 반드시 ⚠️왼쪽 하단에 있는SAVE 버튼을 눌러야 깃랩 트리거 설정이 완료된다!!

2. 깃랩 준비시키기

이제 젠킨스에서 만든 토큰을 넣어주러 깃랩으로 이동하자.

A. 웹훅 페이지로 접속하기

  • 깃랩에서 연동하고자 하는 저장소로 이동한뒤 'settings > integration' 항목으로 이동한다.
  • 들어가면 해당 페이지가 뜨는데 'Go to Webhooks'를 누른다.

B. 웹훅 만들기

  • URL
    : 1.B에서 기억하라고 했던 아이템 URL 그리고 토큰값을 입력한다.
  • Push events
    : 적용할 브랜치를 적어주면 되는데 빈 값으로 두게 되면 모든 브랜치에 적용된다. 즉 모든 브랜치에서 푸시 이벤트가 일어날 때 마다 젠킨스가 트리거 된다는 뜻이니 웬만하면 master 하나만 적어서 불필요한 푸시 이벤트를 발생시키지 않는 것이 좋다.
  • 다 되었다면 조금 내리다 보면 있는 'Add webhook' 버튼을 눌러 추가하자.
  • 추가했다면 Add webhook 버튼 밑에 생성된 웹훅이 보인다.

C. 웹훅 테스트하기

  • 테스트를 위해 푸시 이벤트를 발생시켜 보자.
  • 성공했다면 다음과 같은 메시지를 볼 수 있다.

🥸 젠킨스 설정

1. Gitlab 플러그인 설치

  • 슬랙 플러그인 설치와 같이 깃랩을 찾아 플러그인을 설치한다.

2. 젠킨스에서 Credential 추가

  • 'Jenkins 관리>Manages Credentials' 에 들어가면 다음과 같이 화면이 나온다.

  • 'Store'이라는 열에서 'Jenkins'를 클릭한다.

  • 'Global~' 를 누른다.

  • 'Add Credenials'를 누른다.
  • 맨 앞('🥸 깃랩에서 Access Token 발급하기')에서 발급한 어세스 토큰을 이용하여 Credential을 다음과 같이 만든다.
  • 'Jenkins 관리>시스템 설정'에 들어가서 'GitLab' 부분에 생성한 Credential을 추가한다.
  • 'Test Connection' 버튼을 통해 테스트를 진행한다. 좌측 하단에 Success 문구가 뜬 것을 통해 성공적으로 진행된 것을 알 수 있다.

참고링크

profile
밥소🐈

0개의 댓글