[Docker] 젠킨스 (Jenkins) 도커 서버 생성 및 실행 [docker-compose]

본 설치 방법은 데비안 계열의 Ubuntu 운영체제를 기준으로 설명한다.


1. 젠킨스(Jenkins)

  • 설명
    • 소프트웨어 개발 시에 지속적인 통합 서비스를 제공하는 도구이다. 플러그인에 대해 1800개 이상을 지원하여 다양한 CI/CD에 대한 자동화 절차를 구축 할 수 있다.
  • 장점
    • 무료이고, 많은 사용자로 인해 참조 가능한 정보가 많다.
    • 다양한 플러그인이 많이 있어서 원하는 형태로 구성이 가능하다.
  • 단점
    • 구성 및 요구하는 정보가 너무 많다.
    • 설정하는데 전문지식이 많이 필요하다.
    • 확장성은 좋지만 너무 어렵다.
  • 개인적인 의견
    • 아직 젠킨스 초보인데 아직 아는게 많이 없어서 설정 및 구성이 너무 어려운 것 같다.
  • 공식 사이트 (https://www.jenkins.io)

2. 준비단계

  • docker 및 docker-compose 가상환경 설치 및 구축
    • 아래 링크 참조.

3. 설치 방법

  • docker-compose.yaml 파일 생성
version: '3.7'
services:
  jenkins:
    image: jenkins/jenkins:lts
    restart: always
    container_name: jenkins
    privileged: true
    ports:
      - 80:8080
      - 50000:50000
    volumes:
      - ./jenkins-data:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock
      - /usr/local/bin/docker:/usr/local/bin/docker

  • docker-compose 실행
    • 아래 명령어를 실행하면 이미지를 다운로드하고 jenkins를 백그라운드로 실행한다.
    • 젠킨스 폴더 생성 및 권한 변경은 jenkins 실행 시에 권한 문제로 변경이 필요하다.
# Jenkins 폴더 생성
mkdir jenkins-data

# Jenkins 폴더 권한 변경
chmod 777 jenkins-data

# docker-compose 실행 명령어
docker-compose up -d

  • docker-compose 상태 확인
    • 아래 명령어를 실행을 통해 Jenkins의 상태에 대해 조회한다.
    • 아래 캡처화면과 같이 STATUS가 Up상태이면 정상이다.
# docker-compose 조회 명령어
docker-compose ps

4. 접속 및 설정 방법

  • 웹브라우저를 통해 “http://IP주소”로 접속한다.
  • ex) http://192.168.1.100
  • 접속 방법
    • 초기 관리자 비밀번호는 아래와 같다.
      • 비밀번호 : 비밀번호 파일 위치 [./jenkins-data/secrets/initialAdminPassword]

  • 초기 설정 화면 – 관리자 인증
    • 상기의 관리자 비밀번호를 입력하고 “Continue” 버튼을 클릭한다.

  • 초기 설정 화면 – 사용자 정의 설정
    • “Install suggested plugins”를 선택한다.
      • 자주 많이 사용하는 플러그인 설치

  • 초기 설정 화면 – 설치 진행
    • 설치가 완료 될때까지 대기한다.

  • 초기 설정 화면 – 관리자 계정 생성
    • 관리자 계정을 입력하고 “Save and Continue” 버튼을 클릭한다.

  • 초기 설정 화면 – 젠킨스 접속 URL 설정
    • 사용 중인 DNS가 있으면 변경하고 없으면 그대로 유지한다. 작성이 완료되면 “Save and Finish” 버튼을 클릭한다.

  • 초기 설정화면 – 젠킨스 설정완료
    • 설정이 완료되면 “Start using Jenkins” 버튼을 클릭하여 젠킨스 사용을 시작한다.

  • 접속화면 – 젠킨스 대시보드 화면
    • 설정이 완료되면 젠킨스 대시보드 화면이 출력되고 목적에 맞게 사용하면 된다.

5. 추후 관리 (참고사항)

  • 프로젝트 유형에 따라 아이템 생성 및 설정
    • 형상관리 및 파이프라인, 빌드 실행, 결과 등의 다양한 자동화 기능 설정

감사합니다

Leave a Comment