본문 바로가기
AWS

[AWS/Docker] 실전 클라우드 서버 구축 올인원 패키지 Online / 패스트캠퍼스 챌린지 09일차

by 사용자 원동호 2021. 9. 14.

Ch 05. Jenkins

  • 01. Jenkins 소개 및 설치 #1
  • 02. Jenkins 소개 및 설치 #1 실습
  • 03. Jenkins 소개 및 설치 #2
  • 04. Jenkins 소개 및 설치 #2 실습

 

젠킨스란?

허드슨 프로젝트로 개발된 지속적으로 통합 서비스를 제공해 주는 툴이다. Continuous Integration(CI) 툴이라고도 하며 젠킨스가 하는 역할은 Github 혹은 BitBucket에 업로드 된 소스코드를 빌드, 컴파일을 해주어서 오류를 감지하고 개발, 운영 서버에 배포까지 할 수 있다.

 

장점

  1. 다양한 환경에서 빌드 테스트 환경을 맞출 수 있다.
  2. 정적 코드 분석을 통해 코딩 규약을 준수하고있는지 체크할 수 있다.
  3. 다양한 테스트 환경에 대해 배포작업을 연결할 수 있다.
  4. 빌드 타임을 비롯해서, 실행 시간의 변화 등 성능 변화를 감지할 수 있다.

 

설치

https://www.jenkins.io/download/

강의 영상에서는 Mac Homebrew패키지를 이용해서 설치했지만 본인은 docker에 구축해 보겠다.

 

도커 이미지를 가져온다.

docker pull jenkins/jenkins:lts

 

jenkins 컨테이너를 실행시킨다.

docker run -d --name jenkins -p 8085:8080 jenkins/jenkins:lts

# -d : detach mode(백그라운드)
# -p : 호스트 포트와 컨테이너 포트를 매핑한다.
# --name : 컨테이너 이름을 지정한다.

 

아래 경로로 진입해 비밀번호를 찾는다.

 

 

설치가 완료 되었다.

 

설정

JDK 설정

이름을 입력하고 JDK를 설치하기 위해 Oracle 계정이 필요하다.

Please enter your username/password를 클릭해서 정보를 입력한다.

Git 설정

path 정보 입력

docker exec jenkins which git

 

Maven 설정

 

프로젝트 생성

새로운 Item 클릭

 

 

프로젝트 Git 설정

Repository 설정을 위해 이전 포스팅에서 생성한 BitBucket Repository URL를 입력한다.

Credentials항목의 Add버튼을 클릭하고 Jenkins를 선택한다. 이부분에서 설정이 잘 안되어 유의해야 한다.

Username : Jenkins 가입시 입력한 username

Password : 빗버킷 password ( 본인은 구글 계정으로 빗버킷을 이용해서 빗버킷 접속 후 App Password를 발급해서 입력했더니 오류가 발생하지 않았다.)

ID : Jenkins의 식별 값인것 같다. 중복된 ID는 입력이 불가능하다.

 

Build 설정

maven을 이용하므로 Invoke top-level Maven targets를 선택한다.

Maven version은 maven, Goals는 package로 입력한다.

 

모든 설정을 저장한다.

 

Build 실행

좌측의 Build Now를 클릭하면 아래 Build History에서 빌드가 진행중인것을 확인할 수 있다.

Build History의 #1번을 클릭한다.

좌측의 Console Output에서 빌드 중인 로그를 확인할 수 있다.

Finished : SUCCESS 로 성공적으로 빌드가 완료된것을 확인할 수 있다.

 

도커 쉘로 접속해 빌드 결과를 확인해보자.

docker exec -it jenkins /bin/bash

Jenkins에서 생성한 Item명으로 디렉토리가 생겼음을 알 수 있다.

$ ls -al

total 24
drwxr-xr-x  6 jenkins jenkins 4096 Sep 14 10:28 .
drwxr-xr-x 21 jenkins jenkins 4096 Sep 14 10:33 ..
drwxrwxrwx  8 jenkins jenkins 4096 Sep 14 10:11 aws_master
drwxr-xr-x  2 jenkins jenkins 4096 Sep 14 10:09 aws_master@tmp
drwxr-xr-x  8 jenkins jenkins 4096 Sep 14 10:28 test
drwxr-xr-x  2 jenkins jenkins 4096 Sep 14 10:28 test@tmp

빌드가 성공적으로 된것을 확인할 수 있다.

$ ls -al
total 88152
drwxr-xr-x 10 jenkins jenkins     4096 Sep 14 10:28 .
drwxr-xr-x  8 jenkins jenkins     4096 Sep 14 10:28 ..
drwxr-xr-x  4 jenkins jenkins     4096 Sep 14 10:28 ROOT
-rw-r--r--  1 jenkins jenkins 48528435 Sep 14 10:28 ROOT.war

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

-> https://bit.ly/37BpXiC

댓글0