ballqs 님의 블로그
[CI/CD] 자동 배포 파이프 라인 (1) - Docker로 Jenkins 구축 본문
프로젝트를 진행하면서 구축했던 파이프 라인에 대한 내용을 작성하고자 합니다.
이번 글에 작성될 내용은 Docker로 Jenkins를 올려서 UI까지 들어가는 것까지 작성입니다.
Docker를 이용한 Jenkins 환경 구축
※Dockerfile 과 docker-compose 의 사용법을 숙지 후 따라하면 좋습니다.
Dockerfile 파일 작성
FROM jenkins/jenkins:jdk17
USER root
RUN apt-get update && \ # 시스템 패키지 목록을 업데이트
apt-get upgrade -y && \ # 설치된 모든 패키지를 최신 버전으로 업그레이드
apt-get install -y openssh-client \ # openssh-client는 ssh 프로토콜을 이용하여 원격 서버에 안전하게 접속을 도움
curl \ # curl은 url를 통해 데이터 전송을 수행하는 명령줄 도구
gnupg2 \ # 데이터와 통신의 암호화를 위한 도구로 공개키 암호화 방식으로 보안을 제공
lsb-release \ # 운영체제의 버전과 배포판 정보를 쉽게 확인
software-properties-common # 추가적인 소프트웨어 리포지토리를 관리하기 위한 도구
# Docker 설치
RUN curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - && \
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" && \
apt-get update && \
apt-get install -y docker-ce-cli
# Docker Compose 설치
RUN curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && \
chmod +x /usr/local/bin/docker-compose
# Docker 그룹을 수동으로 생성
RUN groupadd docker && usermod -aG docker jenkins
docker-compose.yml 작성
version: "3.8"
services:
jenkins:
container_name: jenkins
build:
context: ./
dockerfile: Dockerfile
restart: unless-stopped
user: root
ports:
- 8080:8080
- 50000:50000
volumes:
- ./jenkins:/var/jenkins_home
- ./jenkins/.ssh:/root/.ssh
- /var/run/docker.sock:/var/run/docker.sock
environment:
JENKINS_OPTS: --httpPort=8080 # Jenkins HTTP 포트를 8080으로 설정
DOCKER_HOST: unix:///var/run/docker.sock
privileged: true # Docker 실행을 위해 필요한 권한
Jenkins는 기본적으로 8080포트에 실행된다고 한다.
이를 바꿔주기 위해서는 environment 추가해주면 된다.
JENKINS_OPTS: --httpPort=포트
Jenkins Container 생성!
docker-compose up -d
Jenkins
docker desktop을 열어서 확인해보면 이와같이 나오는데 저는 8080 포트로 설정했기에 localhost:8080 으로 들어가면 아래와 같은 화면이 나온다.
해당 화면은 docker를 통해 jenkins로 실행하였고 Administrator Password를 찾아서 입력해주면 된다.
docker desktop으로 진행을 했다보니 docker desktop를 이용하여 해당 경로에 들어가서 확인해봅시다.
/var/lib/jenkins/secrets/initialAdminPassword 경로대로 찾아가면 파일이 있고 그 파일 안에 비밀번호가 적혀있는 것을 확인 할수 있습니다.
비밀번호를 찾아 입력하면 다음과 같은 화면이 나옵니다.
plugins를 추천해주는 대로 설치하는 방법과 직접 골라서 설치하는 방법이 있습니다.
여기서 왼쪽을 눌러서 추천해주는 대로 설치를 진행합니다.
사용할 계정명 , 암호 , 이름 , 이메일 주소를 입력하여 Save and Continue를 누르면 Jenkins의 화면 설정이 완료 됩니다.
이렇게 하면 Docker로 Jenkins까지 설치를 완료했고 Jenkins UI안에 들어와서 보는 것까지 완료되었습니다.
다음은 Jenkins 관리 설정에 관련되서 작성하고자 합니다.
'코딩 공부 > CI-CD' 카테고리의 다른 글
[CI/CD] 자동 배포 파이프 라인 (4) - Build 에러 사항 (0) | 2024.11.17 |
---|---|
[CI/CD] 자동 배포 파이프 라인 (3) - Jenkins Item Add Build Test (0) | 2024.11.17 |
[CI/CD] 자동 배포 파이프 라인 (2) - Jenkins 관리 설정 (0) | 2024.11.17 |