Home jenkins로 배포를 해보자. (1부)
Post
Cancel

jenkins로 배포를 해보자. (1부)

  • 도커를 이용해서 간단하게 배포 서버를 구성해보자.

설치

1
2
3
4
5
6
# 도커 이미지를 다운받는다.
$ docker pull jenkins

# jenkins-camon이라는 이름의 컨테이너를 생성하고 호스트의 7777 포트로 구동한다.
# 호스트의 /Users/camon/dev/jenkins_home 에 컨테이너의 /var/jenkins_home 폴더를 마운트 시킨다.
$ docker run --name jenkins-camon -p 7777:8080 -p 50000:50000 -v /Users/camon/dev/jenkins_home:/var/jenkins_home jenkins

아래와 같은 메시지가 나오면 웹브라우저를 열고 젠킨스에 접속한 뒤, 5178313c2dc74f58923b2854c8d11fae 부분의 비밀번호를 복사 & 붙여넣기 해주자.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
*************************************************************
*************************************************************
*************************************************************

Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:

5178313c2dc74f58923b2854c8d11fae

This may also be found at: /var/jenkins_home/secrets/initialAdminPassword

*************************************************************
*************************************************************
*************************************************************

그러면 플러그인 설치화면이 나오는데, 설치가 끝나면 어드민 설정까지 해주면 준비는 끝이다.

아래와 같은 화면을 볼 수 있다.

젠킨스 메인화면

설정

추천 플러그인을 모두 설치했다면 gradle과 git 플러그인이 이미 설치되어 있을 것이다. 만약 직접 설치하고 싶으면 Jenkins관리 - 플러그인 관리로 메뉴로 가면 된다.

gradle 플러그인은 설치되었지만 gralde은 설치한 것은 아니기 때문에 다음과 같은 설정이 필요하다.

  • Jenkins관리 - Global Tool Configuration 메뉴에서 gradle부분으로 간다.

  • name을 적당히 입력

  • 버전을 선택

  • 하단 save버튼을 누른다.

관리 화면 global-tool-configuration

배포 설정

설정은 모두 끝났고, 미리 준비된 spring boot 프로젝트를 실제로 배포 해보겠다. 메인화면으로 돌아온다.

  • 새로운 Item메뉴

  • 작업의 이름을 적당히 입력한다.

  • Freestyle project 선택 후 ok

  • 소스코드 관리탭에 url을 입력해준다. Repository URL : https://github.com/camon85/docker-spring-hello.git

  • Build탭에 Add build step - Invoke Gradle script

  • Gradle version에 아까 설정했던 3.4.1을 선택

  • Tasks 에 bootRun

  • 하단 Save버튼을 누르면 끝

새로운 아이템1 새로운 아이템2 새로운 아이템3 새로운 아이템4

배포

다시 메인화면으로 돌아온다. boot deploy 아이템이 생성된 것을 볼 수 있을 것이다.

추가된 아이템

느낌적인 느낌으로 우측에 있는 녹색 화살표 버튼을 눌러보자.

Job 실행

좌측 하단에 빌드 실행 상태 바가 움직이는 것을 볼 수 있다.

#1 버튼을 눌러 들어간 화면에서 Console output 버튼을 누르면

젠킨스가 어떤 일을 하고 있는지 볼 수 있다.

console output1 console output2

두가지 문제점이 있다.

완료되지 않고 무한히 돌고 있다.

Job이 종료되지 않는 문제

도커 컨테이너 내부에서 8888 포트로 실행 중이다. 호스트에서 실행된 것이 아니다.

이게 아닌데;

호스트로 배포하려면 어떻게 하지? ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ;

일단 밥먹으러….

This post is licensed under CC BY 4.0 by the author.