Docker Jenkins 설치 아주 간단한 방법 2023 [docker-compose 사용]

Jenkins는 CI/CD(지속적 통합/지속적 배포)의 중심에 위치한 도구 중 하나입니다. 이 게시물에서 Docker Jenkins 설치 방법을 간단하게 알려 드립니다.

Jenkins 란?

Jenkins는 지속적 통합 (Continuous Integration, CI) 및 지속적 배포 (Continuous Deployment/Continuous Delivery, CD) 도구로 널리 알려져 있습니다. Jenkins를 사용하는 주요 이유와 장점은 다음과 같습니다:

  1. 자동화: Jenkins는 개발 과정에서 자주 발생하는 일련의 작업들, 예를 들면 코드의 빌드, 테스트 실행, 코드 분석, 패키징 등을 자동으로 수행해 줍니다.
  2. 지속적 통합 (CI): Jenkins를 사용하면 코드 변경 사항을 중앙 저장소에 지속적으로 통합할 수 있습니다. 이는 버그를 조기에 발견하고, 소프트웨어 품질을 개선하는 데 도움이 됩니다.
  3. 지속적 배포/배달 (CD): CI 과정이 완료되면, Jenkins는 자동으로 소프트웨어를 프로덕션 환경에 배포하거나 배포 준비를 할 수 있습니다.
  4. 플러그인 생태계: Jenkins는 방대한 플러그인 생태계를 가지고 있어, 다양한 도구와 플랫폼과의 통합이 가능합니다. 이로 인해 맞춤형 CI/CD 파이프라인을 구축하는 데 유연성이 향상됩니다.
  5. 다양한 환경 지원: Jenkins는 다양한 운영 체제와 플랫폼에서 작동하며, 클라우드 환경에서도 쉽게 배포할 수 있습니다.
  6. 커뮤니티와 지원: Jenkins는 강력한 오픈 소스 커뮤니티에 의해 지원되며, 다양한 리소스, 문서, 튜토리얼 등이 존재하여 사용자들이 문제를 해결하거나 새로운 기능을 구현하는 데 도움을 받을 수 있습니다.
  7. 스케일링: Jenkins는 마스터-슬레이브 구조를 통해 대규모 프로젝트와 팀에서도 효과적으로 스케일링될 수 있습니다. 다양한 환경에서 동시에 여러 작업을 실행할 수 있습니다.
  8. 개발-배포 사이클 단축: Jenkins의 자동화 기능은 전체 개발 및 배포 사이클을 단축시키며, 이로 인해 팀은 더 빠르게 반복하고 제품을 빠르게 출시할 수 있습니다.

준비 사항:

  • Docker와 Docker Compose의 설치 아래 공식 홈페이지에서 설치 하세요!
  • 개인 테스트용 Docker를 설치하면 최근에는 Docker Compose가 통합되어 설치 됩니다.
사이트방문
도커공식 사이트
도커 공식 사이트 다운로드

Docker 소개

Docker는 컨테이너 기반의 오픈 소스 플랫폼으로, 응용 프로그램을 개발하고 배포하기 위한 플랫폼입니다. 주요 특징은 다음과 같습니다:

  • 컨테이너: Docker는 컨테이너라는 가벼운 실행 환경을 사용합니다. 컨테이너는 호스트 시스템에서 격리된 환경에서 실행되며, 필요한 라이브러리와 응용 프로그램을 포함하고 있습니다.
  • 포터빌리티: 개발 환경, 테스트 환경, 프로덕션 환경 등 어디에서나 동일하게 실행할 수 있습니다. “한 번 작성하면, 어디에서나 실행 가능”의 철핀이 됩니다.
  • 버전 관리와 재사용성: Docker 이미지는 버전 관리가 가능하며, 다양한 환경에서 재사용이 용이합니다.
  • 빠른 시작: VM(가상 머신)에 비해 리소스 소모가 적고 시작이 빠릅니다.

Docker Compose소개

Docker Compose는 여러 개의 Docker 컨테이너로 구성된 응용 프로그램을 정의하고 실행하기 위한 도구입니다. 주요 특징은:

  • YAML 파일 기반 설정: Docker Compose는 docker-compose.yml라는 YAML 파일을 사용하여 서비스, 네트워크, 볼륨 등의 설정을 정의합니다.
  • 다중 컨테이너 관리: 하나의 명령어로 여러 컨테이너를 동시에 시작, 중지 및 관리할 수 있습니다.
  • 재사용성: 동일한 docker-compose.yml 파일을 다양한 환경에서 사용하여 일관된 환경을 구축할 수 있습니다.
  • 개발 및 테스트 환경 최적화: 로컬에서의 개발 및 테스트를 위해 복잡한 응용 프로그램 환경을 빠르게 구축하고 제거할 수 있습니다.

Docker Jenkins 구성 및 설치

1. 디렉터리 생성

먼저, 관련된 파일들을 보관할 디렉터리를 생성합니다. 맥, 리눅스 유저는 명령어를 입력하고, 윈도우 유저는 원하는 위치에 폴더를 생성 하면 됩니다.

cd #홈 디렉터리 이동
mkdir docker # 아래 관련 디렉터리 생성
cd docker
mkdir cicd
cd cicd

2. Jenkins Docker Compose 파일 작성

다음으로 vi명령어 또는 텍스트 편집 툴, 메모장 등으로, docker-compose.yml 파일을 생성하고 아래의 내용을 붙여넣습니다.

version: '3'

services:
  jenkins:
    image: jenkins/jenkins:lts
    ports:
      - "8080:8080"
    volumes:
      - jenkins_home:/var/jenkins_home
    environment:
      JENKINS_OPTS: "--httpPort=8080"
      JAVA_OPTS: "-Djenkins.install.runSetupWizard=false"
    networks:
      - net
networks:
  net:

volumes:
  jenkins_home:

이 구성에서는 Jenkins 초기 설정 마법사를 비활성화했습니다. 필요한 경우 해당 JAVA_OPTS: “-Djenkins.install.runSetupWizard=false” 줄을 제거하세요.

3. Jenkins docker compose 시작하기

모든 준비가 끝났다면, 아래의 명령으로 젠킨스 도커 서버를 시작합니다.

docker-compos up -d

브라우저에서 http://localhost:8080로 접속하면 웹 UI를 볼 수 있습니다.

Docker Jenkins
Docker Jenkins 웹 화면

4. 초기 설정

초기 설정 활성화 후 시작을 하면 다음 절차가 더 필요 합니다. 처음 시작하면 초기 암호를 입력해야 합니다. 해당 암호는 아래의 명령으로 확인할 수 있습니다.

docker exec cicd_jenkins_1 cat /var/jenkins_home/secrets/initialAdminPassword

웹 UI에 암호를 입력하여 Jenkins 설정을 완료하십시오.

5. 젠킨스 도커 정리

작업이 끝나면 아래의 명령으로 Jenkins를 종료하고 컨테이너를 제거할 수 있습니다.

docker-compose down


이제 Docker Compose를 사용하여 Jenkins를 간편하게 설치하고 실행할 수 있습니다. Docker Jenkins 설치 방법은 여러 환경에서 Jenkins를 빠르게 구축할 수 있어 매우 유용합니다. 처음 학습에 간편한 설치가 도움 되었으면 좋겠습니다.

다른 IT 정보를 확인 하고 싶으면 아래를 참고 하세요!!

언스플래쉬(Unsplash) 고해상도 무료 사진을 얻는 4단계 방법