본문 바로가기

IT

[CI/CD] Jenkins 설치하기 for Docker

반응형

Jenkins 란?

지속적인 통합(CI) 및 지속적인 배포(CD)를 지원하는 오픈 소스 자동화 도구입니다. Jenkins를 사용하면 소프트웨어 개발자들은 코드 변경 사항이 발생할 때마다 자동으로 빌드, 테스트 및 배포를 수행할 수 있습니다. 이를 통해 개발자들은 빠르게 문제를 해결하고 더욱 안정적인 애플리케이션을 배포할 수 있습니다. Jenkins는 다양한 플러그인을 제공하여 다양한 개발 언어와 프레임워크를 지원하며, 사용자 정의 가능한 파이프라인을 통해 개발자들은 자신의 필요에 맞게 Jenkins를 구성할 수 있습니다.

필수 구성 요소

  • 최소 하드웨어 요구사항
    • 256MB의 RAM
    • 1GB의 드라이브 공간(Jenkins를 Docker 컨테이너로 실행하는 경우 최소 10GB가 권장됨)
  • 소규모 팀을 위한 권장 하드웨어 구성
    • 4GB 이상의 RAM
    • 50GB 이상의 드라이브 공간
  • 소프트웨어 요구 사항
    • Java 8 버전 이상 설치 (Link)
    • 웹브라우저 설치

Java 설치

sudo dnf update
sudo dnf search openjdk
sudo dnf install java-11-openjdk

젠킨스 설치

mkdir $HOME/jenkins_home
#sudo docker run -d -p <호스트 포트>:8080 -v <호스트 볼륨>:/var/jenkins_home --name jenkins jenkins/jenkins
sudo docker run -d -p 8080:8080 -v $HOME/jenkins_home:/var/jenkins_home --name jenkins jenkins/jenkins
  • 호스트 포트: 컨테이너 외부에서 접속할 젠킨스 포트번호
  • 호스트 볼륨: 젠킨스 홈 디렉터리와 매핑할 디렉터리, 구성, 파이프라인 빌드, 로드 등을 영구 저장

⚠️ jenkins_home 권한 에러 시 참고

'/var/jenkins_home/copy_reference_file.log': Permission denied 오류 해결

실행 확인

//실행중인 컨테이너 확인
$ sudo docker ps
CONTAINER ID   IMAGE             COMMAND                   CREATED          STATUS         PORTS                                                  NAMES
f70c9a534e1f   jenkins/jenkins   "/usr/bin/tini -- /u…"   11 seconds ago   Up 8 seconds   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 50000/tcp   jenkins
253423050adc   ubuntu:20.04      "/bin/bash"               3 weeks ago      Up 3 weeks                                                            suspicious_yonath


`http://localhost:8080` 접속 모습

패스워드 입력하면 완성!

💡 Administrator password는 log또는 파일(/var/jenkins_home/secrets/initialAdminPassword)로 확인 가능합니다.

$ sudo docker logs jenkins
*************************************************************
*************************************************************
*************************************************************

Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:

11a94d4eaa03474d9386d64f900b74de <-- 패스워드

This may also be found at: /var/jenkins_home/secrets/initialAdminPassword

*************************************************************
*************************************************************
*************************************************************


끝.

반응형