[Jenkins] Jenkins Docker로 설치

bbbbbhyun·2025년 9월 1일

DevOps & Cloud

목록 보기
15/29

1. docker-compose.yml 파일설정

compose version

services:
  jenkins:
    image: jenkins/jenkins:lts-jdk11
    container_name: jenkins-server
    privileged: true
    user: root
    ports:
      - "8080:8080"
      - "50000:50000"
    volumes:
      - ./jenkins:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock
    restart: on-failure
    networks:
      - jenkins-network

volumes:
  jenkins:

networks:
  jenkins-network:
    name: jenkins-network

docker cli version
network 설정 후 명령어를 실행해야함

docker network create jenkins-network

docker run \
    -d \
    --name jenkins-server \
    --restart on-failure \
    --privileged \
    -u root \
    --network jenkins-network \
    -p 8080:8080 \
    -p 50000:50000 \
    -v ./jenkins:/var/jenkins_home \
    -v /var/run/docker.sock:/var/run/docker.sock \
    jenkins/jenkins:lts-jdk11
  • services: Docker Compose로 실행할 서비스(컨테이너)들을 정의하는 영역

  • image: jenkins/jenkins:lts-jdk11: Jenkins를 실행할 Docker 이미지, 안정적인 장기 지원(LTS) 버전이면서 Java 11이 포함된 이미지를 사용

  • container_name: jenkins-server: 실행될 컨테이너의 이름을 jenkins-server로 지정,나중에 컨테이너를 관리하기 편리함을 위함

  • privileged: true & user: root: Jenkins 컨테이너 안에서 Docker 같은 다른 명령어를 실행할 수 있도록 root 권한을 부여하는 설정, Jenkins 파이프라인에서 Docker 빌드 작업을 하려면 필요

  • ports: 호스트 PC와 컨테이너의 포트를 연결(매핑)

  • "8080:8080": 호스트 PC의 8080 포트로 들어오는 요청을 Jenkins 컨테이너의 8080 포트로 전달(Jenkins 웹 UI 접속용)

  • "50000:50000": Jenkins 컨트롤러-에이전트 통신에 사용되는 JNLP 포트를 연결

  • volumes: 컨테이너의 데이터를 호스트 PC에 저장하여, 컨테이너가 삭제되어도 데이터가 유지

  • ./jenkins:/var/jenkins_home: 현재 폴더(docker-compose.yml 파일이 있는 위치)에 생성될 jenkins 폴더와 컨테이너 내부의 Jenkins 홈 디렉터리를 연결합, Jenkins의 모든 설정, 플러그인, 작업 데이터가 여기에 저장

  • /var/run/docker.sock:/var/run/docker.sock: 호스트의 Docker 소켓을 컨테이너와 공유, 이를 통해 Jenkins 컨테이너 안에서 호스트의 Docker를 제어(Docker in Docker)

  • restart: on-failure: 컨테이너가 비정상적으로 종료되었을 때 자동으로 재시작하도록 설정

  • networks: 컨테이너가 사용할 네트워크를 정의합니다. jenkins-network라는 이름의 브리지 네트워크를 생성

2. docker-compose 실행

docker-compose -f docker-compose.yml up -d

3. Jenkins 초기 비밀번호 확인

두 명령어중 선택해서 초기 비밀번호 확인
ex) c7d0e9268a15470592105261b16943b1

docker exec jenkins-server cat /var/jenkins_home/secrets/initialAdminPassword
docker logs jenkins-server

4. Jenkins 웹 페이지 접속 및 설정 마법사

  • http://localhost:8080으로 웹 접속 후 방금 복사한 초기 비밀번호를 붙여넣고 'Continue' 버튼을 클릭

  • Install suggested plugins를 선택하면 설치가 진행

    	* Install suggested plugins: Jenkins 커뮤니티에서 추천하는 필수 플러그인들을 자동으로 설치
    
    	* Select plugins to install: 필요한 플러그인을 직접 선택하여 설치

  • 사용자 이름, 비밀번호, 이름, 이메일 주소를 입력하고 'Save and Continue'를 클릭

  • 기본값(http://localhost:8080/)을 그대로 두고 'Save and Finish'를 클릭

5. Jenkins 웹 접속

6. 라이브러리 설치

  1. Pipeline : Stage View
  2. SonarQube Scanner, SonarQuality Gates
  3. Slack Notification

업로드중..

profile
BackEnd developer

0개의 댓글