Jenkins로 배우는 CI/CD 파이프라인 구축
1. Install and Run Jenkins With Docker Compose
2. Jenkins Pipeline 개념 및 예제
3. Github WebHooks 연동하여 Jenkins 빌드 자동화
4. Jenkins Multibranch Pipeline: 효과적인 브랜치 관리와 CI/CD 구축
Docker Compose로 Jenkins를 설치하고 실행해는 예제를 진행보겠습니다.
Docker & Docker Compose
우선 Docker와 Docker Compose 가 설치되어 있어야 합니다.
여기서는 설치되어 있다고 가정하고 다음 단계로 넘어가 보겠습니다.
Docker 설치 확인
$ docker -v
Docker version 20.10.17, build 100c701
Docker Compose 설치 확인
$ docker-compose -v
Docker Compose version v2.10.2
Docker-compose로 Jenkins 실행
jenkins 이미지를 이용합니다.
해당 이미지의 Jenkins data(플러그인들과 설정 데이터들)는 /var/jenkins_home
에 저장이 됩니다.
Jenkins의 데이터를 저장할 directory(/jenkins/config
)를 만들어주고 아래와 같은 docker-compose.yaml 를 생성합니다.
version: '3.8'
services:
jenkins:
image: jenkins/jenkins:lts-jdk11
container_name: jenkins
environment:
- TZ=Asia/Seoul
user: root
privileged: true
ports:
- 8080:8080
- 50000:50000
volumes:
- ./jenkins/config:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock
docker-compose up 커맨드를 실행합니다.
$ docker-compose up -d
http://localhost:8080/ 로 접속하면 아래와 같은 화면이 나옵니다.
비밀번호 입력창이 나오는데 그 위에 비밀번호가 적혀있는 파일 위치를 알려줍니다.
해당 파일을 확인해서 초기 비밀번호를 알 수 있습니다.
$ cat ./jenkins/config/secrets/initialAdminPassword
092543475aa540e68000c10b7dd9e29f
아니면 docker logs 를 통해서 확인 가능합니다.
Jenkins는 초기 비밀번호를 표준 출력하기 때문에 log로 확인 가능합니다.
$ docker logs jenkins | less
*************************************************************
*************************************************************
*************************************************************
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
092543475aa540e68000c10b7dd9e29f
This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
*************************************************************
*************************************************************
*************************************************************
확인한 초기 비밀번호를 복사해서 붙여 넣기 한 다음 Continue 버튼을 클릭하면 됩니다.
처음 설치할 플러그인들을 선택하는 화면이 나오는데 “Install Suggested Plugins” 클릭해줍니다.
플러그인 설치화면이 나옵니다.
플러그인 설치가 완료되면 초기 계정을 설정하는 창이 나옵니다.
만약 “Skip and continue as admin” 를 클릭하면 나중에 로그인할 때 계정명은 admin 이고 비밀번호는 위에서 초기 비밀번호로 보여줬던 비밀번호를 입력하면 로그인할 수 있습니다.
Jenkins 설치가 완료되었습니다.
참고
https://github.com/jenkinsci/docker/blob/master/README.md
https://hub.docker.com/r/jenkins/jenkins