본문 바로가기
DevOps/배포

[EC2] 05. Gitlab + Jenkins 연동하기 (1)

by 김파치 2023. 9. 26.

이제 배포 막바지다....

 

근데 이게 내용이 제일 많은디... 우짬.... 블로그 진짜 아무나 하는게 아니구나...

 

꾸준히 블로그 하시는 분들... 존경합니다...^-^

 

나는 블로그 왕초보라 어떻게 해야하는 지도 잘 모르고 그냥 냅다 쓰고있긴 한데... 암튼 가보자고

 

 

우리 프로젝트는 GitLab을 쓰고있기 때문에 이걸 기준으로 포스팅함!

 

 

 

Git plugin 설치

 

 

제일 먼저! git 관련 플러그인을 설치해야 한다.

 

 

왼쪽에 Jenkins 관리를 클릭한다.

 

다시 한번 말하지만 저기 떠 있는 fitter는 무시해줘요 내가 해놓은 배포니께,,,, 지금 저거 복습하는거임

 

Plugins 선택 ㄱ

 

 

 

그리고 왼쪽의 available plugins를 선택 후 git을 검색한다

 

 

 

그럼 여러 개가 쭉 뜰건데 그중 아래의 4개를 설치하면 된다!

 

이미 설치된 것이 있을 수도 있는데 그럼 설치 안된 것만 설치하기!

 

 

 

 

 

Credential 등록

 

사실 이건 나중에 pipeline 세팅하면서 해도 되는거긴 한데 그냥 미리 해보자!

 

Jenkins 관리 - credentials 를 선택한다.

 

 

그럼 아래 화면이 나온다

 

credentials 밑의 3개는 내가 배포하면서 만든거기 때문에 신경쓰지 말기~!~!~!

 

Stores scoped to Jenkins 밑의 global을 클릭해준다.(빨간 네모)

 

 

그리고 add credentials 클릭 

 

 

 

그럼 다음과 같은 화면이 뜬댜

 

 

kind를 눌러보면 여러개가 뜨는데 제일 확실한건 SSH Username with private key이다.

 

근데 gitlab이 ssh 관련해서 뭘 막아뒀던가 그래서 Username with password를 선택하자.

 

Username with password는 사용자 gitlab 아이디와 비밀번호를 사용해서 하는건데, 배포자가 gitlab에 maintainer로 등록이 되어있어야 한다.

 

 

 

 

근데 나는 maintainer로 등록했는데도 왜!!!!!! 저게 안되냐고!!!!!!

 

그래서 결국 다른 팀원걸로 했다..... 왜 내건 안되냐고.... 

 

++ 방금 포스팅용으로 credential 만들어봤는데 이번에 만든건 또 되네.... 대체 뭐지.... 뭐가 문젠거지.....

 

 

 

아무튼 계속해보쟈

 

Username에 gitlab 아이디를 입력하고 Password에 gitlab 비밀번호를 입력한다.

 

ID는 입력해도 되고 안해도 된다.

 

구분하기 쉽게 하려면 지정해도 되고 (ex. pachi-gitlab), 지정하지 않으면 알아서 랜덤으로 ID를 생성해준다.

 

 

다 입력했으면 Create 클릭

 

 

그럼 쨘! 생성이 된다. 나는 ID를 입력하지 않았기 때문에 랜덤 ID가 생성이 되었다.

 

 

 

Jenkins와 GitLab 연결

 

GitLab 프로젝트와 Jenkins pipeline을 연결할려면 gitlab API token이 필요하다!

 

연결하려는 GitLab 프로젝트로 간다.

 

Settings - Access Tokens로 간다!

 

 

Token name, Expiration date, role, scope을 설정해야한다.

 

Token name은 프로젝트 이름 그대로 fitter로 했다. 

 

Expiration date는 설정하지 않으면 무기한이기 때문에 설정하지 않았고, role은 Maintainer로 했다.

 

scope은 write_repository를 제외하고 다 선택했다. 어차피 젠킨스에서 뭘 push 할것도 아니기 때문에...

 

그리고 Create project access token 클릭!

 

 

그럼 상단에 access token이 생긴다.

 

아래에 있는 경고문처럼 지금 복사해서 어디 저장해놓지 않으면 다시 볼 수 없다. 

 

그래서 까먹으면 access token 다시 발급해야된다...

 

별로 어려운 일은 아니지만 귀찮잖아ㅜ

 

 

다시 Jenkins로 갑니다아

 

다시 Jenkins 관리 - Credentials - global - add credentials 한다! 

 

이번에는 Username with Password 말고 GitLab API token을 선택한다.

 

 

 

아까 gitlab에서 복사한 access token을 붙여넣는다. 그리고 create 버튼 클릭!

 

 

다시 Jenkins 관리로 가서 System Configuration - System을 클릭한다.

 

 

쭉 내리면 GibLab이 보인다.

 

Connection name은 역시나 프로젝트 이름(나의 경우 fitter)로 하였다.

 

GitLab host URL은 프로젝트의 gitlab 도메인만 적으면 된다. 

 

Credentials에는 방금 생성한 GitLab API token을 선택하고 Test Connection을 선택한다.

 

다음과 같이 Success가 뜨면 성공이다

 

Apply - 저장을 누르면 연결 끝!

 

'DevOps > 배포' 카테고리의 다른 글

[EC2] 05. Gitlab + Jenkins 연동하기 (2)  (0) 2023.09.26
[EC2] 04. EC2에 Jenkins 설치하기  (0) 2023.09.25
[EC2] 03. MySQL 설치  (0) 2023.09.25
[EC2] 02. Docker 설치(feat. chatGPT)  (0) 2023.09.25
[EC2] 01. EC2 세팅 (NginX, SSL)  (0) 2023.09.25