티스토리 뷰

jenkins에 gitlab을 연동해서 자동으로 도커 이미지를 빌드하고 자동으로 start 하는 방법을 알아보도록 할게요.

 

준비물들...

물론... jenkins를 설치하는 방법까지는 이전에 적어둔 글로 봅시다.

2020/06/30 - [CI,CD] - Ubuntu에 Jenkins 설치하기

 

Ubuntu에 Jenkins 설치하기

저의 개인 공간 환경은 gitlab을 이용하여 push를 할 경우에 Jenkins에서 trigger 하여서 이것을 Docker Image로 만들고 Image를 Container를 동작시키도록 하도록 되어 있습니다. 말이 기네요... 아무튼 그래서

mrgamza.tistory.com

그리고 gitlab은?

2020/03/29 - [Web/Docker] - Docker를 이용하여 gitlab을 사용하여 봅시다.

 

Docker를 이용하여 gitlab을 사용하여 봅시다.

이전에 VirtualBox에서 gitlab을 설치하고 이것을 이용하는 방법에 대해서 알아보았습니다. 2020/03/15 - [Version Control] - Install and Configure GitLab on CentOS8 Install and Configure GitLab on CentOS8..

mrgamza.tistory.com

이런식으로 두가지를 설치하고 repo에 하나를 올려두었습니다.

그리고 Jenkins의 plugin을 설치합시다.

Jenkins 관리 > 플러그인 관리 > 설치 가능 > git을 검색합시다.

혹시나 git plugin은 기본으로 설치되어 있으나 안되어 있으면 설치하시기 바랍니다.

지금 다운로드하고 재시작 후 설치하기~

gitlab access token 발행

사용자 설정 > Access Token 하여 줍니다.

이름을 자기 마음대로 넣고 Create 하게 되면 새로운 토큰이 생성되는데 창을 닫지 말고 다음을 진행합니다.

아니면 복사하여 두도록 합니다.

jenkins Credentials를 설정합시다.

jenkins 관리에 Security에 Manage Credentials을 눌러줍니다.

Jenkins를 눌러주고

Global credentials 눌러주세요.

Add Credentials

여기에 설정하여 주어야 합니다.

앞에서 복사한 값을 여기에 넣어줍니다.

ID 넣어주고 설명도 넣어줍니다.

 

메인으로 돌아와서 새로운 Item을 눌러주세요

pipeline을 선택하고 아이템을 추가하여 줍니다.

Pipeline에 가서 Pipeline script from SCM 을 선택하고 SCM은 Git을 선택합니다.

URL은 gitlab에서 복사합시다

붙여넣고 Credential Add 하여 줍니다.

넣고...

선택하여 주면 에러가 사라질겁니다.

그럼 Jenkinsfile을 만들어 봅시다.

 

거의 다 된거 같습니다.

Jenkinsfile 만들기

root에 파일을 하나 만들어 줍시다.

node {
     stage('Clone repository') {
        checkout scm
     }

     stage('Docker Image make') {
        sh 'make build'
        sh 'echo start build docker image'
     }

     stage('Test image') {
        sh 'echo "Tests passed"'
     }

     stage('Docker deploy complete') {
        sh 'make up'
        sh 'echo deploy complete'
     }
 }

Makefile을 이용해서 build하게 만들었습니다.

Makefile...

build:
	docker build --no-cache -t [imagename] .

up:
	docker-compose up -d

이런식이라 make ... 이 부분을 저 부분으로 대체해서 적으셔도 됩니다.

궁금한건 댓글 달아주세요. Jenkins 설정이 개인마다 차이가 많아서 안되는 부분들이 조금 있을수 있습니다.

 

'CI,CD' 카테고리의 다른 글

Jenkins. gitlab trigger 사용하기  (0) 2020.07.04
Ubuntu에 Jenkins 설치하기  (0) 2020.06.30
[Jenkins]설치 및 port변경  (2) 2015.01.28
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함