GitLab Jenkins CICD 구축하기(1)-GitLab Jenkins연동

seoyoon·2022년 7월 11일
1

GitLab Jenkins CICD

목록 보기
1/3
post-thumbnail

0. 준비

GitLab, Jenkins를 연동해서 자동 빌드 및 배포를 해보겠습니다.
GitLab과 Jenkins는 설치와 설정을 마쳤다는 가정하게 시작하겠습니다.

저는 Docker를 이용해서 서버 두 대에 Jenkins와 GitLab을 설치했습니다.

[Docker] Jenkins 설치
[Docker] GitLab 설치

1. Jenkins 설정

1) Plugin 설치

Jenkins관리 > 플러그인 관리 > 설치 가능
Git & GitLab과 관련된 플러그인을 모두 다운 받습니다.

2) Credentials 설정

Jenkins관리 > Manager Credentials
Stores scoped to Jenkins에서 (global) 버튼을 클릭합니다.

왼쪽 메뉴중 + Add Credentials을 클릭합니다.

다음과 같이 GitLab의 User 정보를 입력합니다.

3) Item 설정

Dashboard > 새로운 Item

프로젝트의 이름을 입력하고 Item의 타입을 선택합니다.
저는 Freestyle project로 설정해보도록 하겠습니다.

  • Freestyle project : 자신이 원하는 형태 및 스크립트로 빌드
  • Pipeline : Jenkins Script를 직접 작성하거나 Jenkinsfile을 선택하여 빌드


소스 코드 관리
소스 코드 관리 탭을 클릭 후 Git을 선택합니다.

  • Repository URL : GitLab Repository에서 Clone을 누르면 Clone with HTTP
  • Branch Specifier : */Branch명

빌드 유발
아래 사진과 같이 Check Box를 선택합니다
Build when a change is pushed to GitLab. GitLab webhook URL: [jenkins url]는 이후 GitLab 설정 때 쓰일 예정이므로 기억해둡니다.

고급 버튼을 클릭 후 Allowed branches를 클릭합니다.
그럼 아래 Secret token 에서 Generate 버튼을 눌러 token을 생성한 뒤,
저장 및 Apply를 눌러줍니다.

해당 토큰은 GitLab Webhooks 설정에서 쓰입니다.

Build
코드를 어떻게 Build할 것인지 순서와 명령어를 입력하는 곳입니다.

저는 Jenkins가 돌아가는 것을 확인하기 위해 Execute shell 선택 후 아래와 같은 명령어를 실행하게 했습니다.

Build후 조치
빌드가 완료 됐을 때 어떻게 할 것인지 지정하는 곳입니다.

GitLab에 빌드 성공 여부를 띄우기 위해 Publish build status to Gitlab을 선택합니다.

2. GitLab 설정

1) Allow Local Network 설정

좌측 상단 Menu > Admin > Setting > Network > Outbound request
본인이 접속하는 url을 입력한 후 Save change를 눌러주세요.

2) Webhooks 설정

프로젝트 repository > Setting > Webhooks

  • URL : Jenkins URL로, 1.(3) 빌드 유발에 있는 URL 입력
  • Secret token : 1.(3) 빌드 유발에서 Generate로 생성한 Secret token 입력
  • Trigger : Trigger 발생 시킬 시점 선택, 발생 시킬 branch 입력

모두 입력 후 Add webhook 버튼을 클릭하면 아래와 같이 Project Hooks가 추가됩니다.

profile
Backend Developer

0개의 댓글