Dev. Back-End/CI & CD

[Jenkins] docker를 이용해서 jenkins 설치하는 방법 (ubuntu)

재테크하는 개발자 2021. 7. 11. 22:58

 

 

 

이번에는 도커를 이용해서 젠킨스를 설치하는 방법에 대해 포스팅하겠습니다.

 

 

 


 

저는 AWS에서 EC2 서버를 이용해서 젠킨스 서버를 도커를 이용해서 간단하게 설치해보겠습니다.

OS: 우분투 20.14

 

1. Jenkins 구성

이전 포스팅한 글에서 젠킨스를 서버에 직접 설치했었는데요.

이번에는 간단하게 도커파일을 가지고 설치를 해보겠습니다.

우선, 서버에 접속해서 디렉토리를 하나 생성합니다.

 

 

 

2. Docker install

도커 공식 문서 : 우분투 | 도커 엔진 설치 도커 설명서 (docker.com)

위 문서를 토대로 아래와 같이 진행해줍니다.

 

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
$ docker -v

docker 버전이 잘나오면 정상 설치가 된 것입니다!

 

 

 

3. docker-compose install

도커 공식 문서 : 도커 컴포지드 | 설치 도커 설명서 (docker.com)

위 문서를 토대로 아래와 같이 진행해줍니다.

 

$sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

$sudo chmod +x /usr/local/bin/docker-compose

$sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

$ docker-compose --version

 

 

 

 

4. Dockerfile 작성

Dockerfile를 생성하고 아래와 같이 입력합니다.

젠킨스 lts버전을 image로 제공되고있어 바로 FROM에 작성해줍니다.

FROM jenkins/jenkins:lts

USER root 

RUN apt-get update && \
    apt-get -y install apt-transport-https \
        ca-certificates \
        curl \
        gnupg2 \
        zip \
        unzip \
        software-properties-common && \
    curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg > /tmp/dkey; apt-key add /tmp/dkey && \
    add-apt-repository \
    "deb [arch=amd64] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") \
    $(lsb_release -cs) \
    stable" && \
    apt-get update && \
    apt-get -y install docker-ce

 

 

 


5. docker-compose.yml 작성

docker-compose는 docker run~을 별도로 하지않고 파일로 작성해서 도커를 띄워주는 역할을하는 파일입니다.

# docker-compose.yml
version: '3.7'

services:
  jenkins:
    build: 
      context: .
    container_name: jenkins
    user: root
    ports:
      - 8080:8080
      - 50000:50000
    container_name: jenkins
    volumes:
      - ./jenkins_home:/var/jenkins_home
      - //var/run/docker.sock:/var/run/docker.sock

 

 

6. Jenkins 이미지 실행

docker run~을 통해 도커를 띄우지 않고 해당 폴더에서 바로 아래 명령어를 실행합니다.

$ docker-compose up

 

이제 젠킨스가 실행되고 설치가 완료됩니다.

실행이 되면 아래와같이 시크릿키가 보입니다. 흰 박스 부분을 복사해줍니다.

또는 젠킨스 폴더에서 jenkins_home/secrets/initialAdminPassword 파일을 열면 확인할 수 있습니다.

 

 

 

 

7. 젠킨스 서버(jenkins_server:8080)에 접속하여 위 시크릿키를 붙여넣어줍니다.

로컬일경우 http://localhost:8080으로 접속하시면 됩니다.

 

 

 

 

8. 아래와 같이 install suggested plugins을 클릭합니다.

 

 

 

 

9.  설치중이므로, 완료되면 정상 설치되신걸 확인할수있습니다.