도커+젠킨스+스프링부트

2. 도커 설치 및 젠킨스 셋팅

앞서 가상머신과 우분투 설치 및 셋팅이 끝났다면

이제 도커를 설치하고 젠킨스 이미지를 풀받아서 컨테이너를 만들어 보겠습니다.

 

1. 업데이트

sudo apt-get update

2. 자바 다운로드

sudo apt-get install openjdk-8-jdk

도커를 사용할려면 자바가 필수

 

3.도커 의존패키지 4개 설치

sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

도커가 돌아가기위해서 의존하는 패키지가 4개 있는데 이를 우선 다운로드 받아야합니다.

4. Docker GPG 키 추가

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

도커를 사용할려면 공식 GPG키가 필요합니다.

 

5. fingerprint 인식 키가 있는지 확인

sudo apt-key fingerprint 0EBFCD88

6. Docker 저장소 등록

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"

7. 업데이트

sudo apt-get update

다시한번 업데이트를 받습니다.

8.도커 설치

sudo apt install docker-ce

9. 도커 실행 상태 확인

sudo systemctl status docker

만약 여기서 도커가 active상태가 아니라면

sudo service docker start

10. 젠킨스 이미지 pull

sudo docker pull jenkins/jenkins

11. 도커 사용자 등록

sudo usermod -aG docker $USER

위와 같이 사용자 등록하면 도커 명령어를 칠때 sudo를 매번 앞에 안붙혀도 되게 됩니다.(재부팅 필수)

위 명령어는 현재 사용자를 등록하는것으로 $USER말고 ec2-user나 ubuntu 등 등록하고자 하는 사용자의 이름을 입력하면 됩니다.

12.젠킨스 실행

docker run -d -p 9090:8080 -v /jenkins:/var/jenkins_home --name jenkins -u root jenkins/jenkins

-d: 백그라운드 실행

-p: 포트 옵션으로 위의 설정은 도커 내부 8080포트를 서버 아이피의 9090포트와 맵핑하겠다는 의미

-v: 볼륨옵션으로 호스트와 볼륨을 공유 콜론 왼쪽이 내 호스트 서버의 루트경로

--name 컨테이너 이름 지정

마지막에 run 시킬 도커 이미지 이름

13.우분투 포트 열기

$ sudo iptables -I INPUT -p tcp --dport 9090 -j ACCEPT

$ sudo iptables -I OUTPUT -p tcp --sport 9090 -j ACCEPT

가상머신에 우분투를 올려서 사용하기 때문에 직접 포트를 열어줘야합니다.

혹시 포트를 완전히 열어버리는게 싫다면 포트를 지정한 아이피한태만 열어줄수도 있습니다.

 

14. 젠킨스 첫 접속시 화면

브라우저를 열어서 9090포트로 접속하면 처음으로 보이는 화면입니다. 비밀번호를 입력해야하는데 이를 위해서는 젠킨스가 돌아가고있는 컨테이너의 로그를 확인해야합니다. 일단 브라우저는 냅두고 다음으로 넘어가 주세요.

 

15.현재 실행중인 컨테이너 중 젠킨스 컨테이너 id 체크

docker ps

 

14. 해당 도커 컨테이너 로그 확인

docker logs [컨테이너 id]

명령어를 치면 아래처럼 나오는 부분이있는데 저부분을 복사하고 브라우저로 돌아가서 입력하고 continue를 눌르면 됩니다.

15. 플러그인 설치 선택

직접 선택해서 다운받을게 아니면 추천 플러그인 다운(왼쪽)

기다리면 설치 완료 됨

17. 젠킨스 첫 관리자 계정 등록

본인이 원하는 아이디 비밀번호 등 설정후 save

18. 젠킨스에 로그인됨

오른쪽 상단에 로그아웃을 눌르면

로그인창이 나옵니다.

여기에 본인이 설정한 관리자 계정으로 로그인하면 다시 젠킨스 대쉬보드로 들어갈 수 있습니다.

 

다음 게시물에서는 CI/CD를 진행할 샘플 스프링부트 프로젝트를 만들어보겠습니다.