jenkins에서 Gitlab연동하기(Gitlab계정사용)

들어가기

이번은 로컬에 docker로 올린 jenkins를 사용해서 Gitlab(online)에 연동하는 방법을 알아보겠다.

실습전 준비

위 처럼 gitlab에 테스트할 리파지토리를 하나 준비했다.

위처럼 젠킨스에서는 Git plugin, GitLab Plugin을 설치해주자.

Git plugin은 기본적으로 설치되어 있지만, GitLab Plugin은 추가로 설치해 주어야 할 것이다.

Git, GitLab관련 다양한 기능을 제공하는 플러그인들이 추가로 있으니, 필요기능별로 찾아 사용하면 된다.

실습

구글링 해보면, Gitlab에 accesstoken을 사용해서 jenkins와 연동하는 예제는 많이 있다.

하지만 내가 셋팅한 jenkins에 뭔가 문제가 있는지, Gitlab accesstoken을 저장까지는 되지만 막상 Project에서 Gitlab accesstoken credential을 불러오지 못했다.

따라서 차선책으로 Gitlab의 accesstoken대신 Gitlab의 계정을 사용하여, jenkins에 연동을 해볼것이다.

jenkins에 github 계정 Credential 추가하기

jenkins에서 Credentilas로 이동 → global 클릭

Add Credentials클릭

이 화면에서 Credential을 저장하고 젠킨스의 project에서 필요한 Credential을 불러와서 사용한다.

Username에 gitlab 계정아이디(필수 값)

Password에 gitlba 계정비밀번호(필수 값)

ID에는 Credential을 식별하는 아이디(필수 값)

Description은 이 Credential에 대한 설명을 입력하자.

Credential저장이 완료되었다면, 이제 새로운 Item을 생성하자.

아이템 이름을 입력하고, Freestyle project 를 선택하고 OK 를 클릭하자.

GitLab의 특정 프로젝트로 가서 리파지토리 URL을 클립보드로 복사하자.

다시 jenkins로 이동해서

앞서 생성한 Item의 소스코드 관리로 이동후 Git 선택.

그리고 Repository URL에 앞서 복사한 Gitlab 프로젝트 URL을 붙여넣자.

처음에는 Credential이 none이므로 아래처럼 빨란 경고문그로 접근할수 없다고 나온다.

Credentials 셀렉트박스를 눌러서 앞서 입력한, Credential을 선택하자.

아래 그림에서는 내가 테스트로 여러개를 입력해서 여러개가 나오는 것 뿐이다.

선택한 뒤 조금 지나면, 아래처럼 빨간 문구가 사라진 것을 확인 할 수 있다. 이것으로 연동이 된 것이다.

실제 연동이 됬는지 확인하기 위해 item에 build로 가서 Execute shell을 클릭한뒤 ls -al 명령어를 입력하자.

아래처럼 ls -al을 입력해서 gitlab 리파지토리에서 소스를 받아오는지 출력해보자.

저장을 눌러서 jenkins item을 저장하자.

아래처럼 저장이 완료 되었다.

Build Now를 눌러서 Jenkins item을 동작 시키자.

아래처럼 Build History가 성공적으로 끝났다.

#1을 클릭해서 내용을 확인해 보자.

아래처럼 gitlab의 소스를 받아오는 것을 확인 할 수 있다.

끝!!!