2 min read

Ubuntu 및 Docker로 Jenkins 구축 | How to build Jenkins on docker or ubuntu?

1. Ubuntu에 패키지를 설치하여 구축

Hypervisor(VMware등)를 사용한 방법은 진행하지 않고, Docker Ubuntu Image를 이용하여 패키지를 설치합니다.

++ 로컬에서 패키지 설치가 어떻게 진행되는지 알아야 추후에 어떤 패키지든 Base Image를 Custom Build 할지 감이 오기 때문입니다.


[1-1] local에 jenkins home 디렉터리를 만들어 줍니다.

mkdir /jenkins


[1-2] Ubuntu Image를 실행합니다.

# Docker Ubuntu run
docker -d --name ubuntu_jenkins -p 8080:8080 -v /jenkins:/var/lib/jenkins ubuntu sleep infinity
# docker ps
CONTAINER ID   IMAGE             COMMAND                  CREATED          STATUS          PORTS                               NAMES
59956d0a55c6   ubuntu            "sleep infinity"         2 hours ago      Up 2 hours      0.0.0.0:8080->8080/tcp              jenkins-ubuntu


[1-3] 실행이 완료되었으면 docker exec 명령어로 쉘로 접근합니다.

# docker exec -it <CONTAINER ID> <COMMAND>
docker exec -it 59956d0a55c6 bash


[1-4] apt update를 진행하고 curl패키지를 설치해줍니다. (ubuntu 이미지에는 기본적으로 curl패키지가 없습니다.)

apt update && apt install -y curl


[1-5] jenkins repository를 등록하고 apt update를 진행합니다.
Ubuntu jenkins repository add 참고

# ubuntu exec 접근시 기본 root계정으로 접근되기 때문에 공식 사이트의 가이드에서 sudo 명령어는 제외합니다.
curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | tee \
    /usr/share/keyrings/jenkins-keyring.asc > /dev/null
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
    https://pkg.jenkins.io/debian-stable binary/ | tee \
    /etc/apt/sources.list.d/jenkins.list > /dev/null
# Jenkins 패키지 및 dependency 패키지 설치
apt update && apt install -y fontconfig openjdk-11-jre && apt install jenkins


[1-6] 설치가 완료되면 jenkins 서비스를 시작해줍니다.

service jenkins start


[1-7] 브라우저에 http://localhost:8080로 접근하여 정상적으로 접근이 되는지 확인합니다.

[1-8] 초기 jenkins를 시작하려면 initalAdminPassword를 확인후 입력합니다.

# 출력된 값은 웹의 Administrator에 값을 넣어줍니다.
cat /var/lib/jenkins/secrets/initialAdminPassword


[이후 단계 생략, 충분히 혼자 설정 가능합니다]


2. Docker Image를 사용하여 구축

[2-1] Docker Run

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

[2-2] 웹으로 접근(1-7~ 참고)

[2-3] 도커의 initalAdminPassword 경우 웹에서 보이는 것처럼 찾으시면 됩니다.

  • /var/jenkins_home/secrets/initialAdminPassword

[이후 단계 생략, 충분히 혼자 설정 가능합니다]