Docker Jenkins 설치 아주 간단한 방법 2023 [docker-compose 사용]
Jenkins는 CI/CD(지속적 통합/지속적 배포)의 중심에 위치한 도구 중 하나입니다. 이 게시물에서 Docker Jenkins 설치 방법을 간단하게 알려 드립니다.
목차
Jenkins 란?
Jenkins는 지속적 통합 (Continuous Integration, CI) 및 지속적 배포 (Continuous Deployment/Continuous Delivery, CD) 도구로 널리 알려져 있습니다. Jenkins를 사용하는 주요 이유와 장점은 다음과 같습니다:
- 자동화: Jenkins는 개발 과정에서 자주 발생하는 일련의 작업들, 예를 들면 코드의 빌드, 테스트 실행, 코드 분석, 패키징 등을 자동으로 수행해 줍니다.
- 지속적 통합 (CI): Jenkins를 사용하면 코드 변경 사항을 중앙 저장소에 지속적으로 통합할 수 있습니다. 이는 버그를 조기에 발견하고, 소프트웨어 품질을 개선하는 데 도움이 됩니다.
- 지속적 배포/배달 (CD): CI 과정이 완료되면, Jenkins는 자동으로 소프트웨어를 프로덕션 환경에 배포하거나 배포 준비를 할 수 있습니다.
- 플러그인 생태계: Jenkins는 방대한 플러그인 생태계를 가지고 있어, 다양한 도구와 플랫폼과의 통합이 가능합니다. 이로 인해 맞춤형 CI/CD 파이프라인을 구축하는 데 유연성이 향상됩니다.
- 다양한 환경 지원: Jenkins는 다양한 운영 체제와 플랫폼에서 작동하며, 클라우드 환경에서도 쉽게 배포할 수 있습니다.
- 커뮤니티와 지원: Jenkins는 강력한 오픈 소스 커뮤니티에 의해 지원되며, 다양한 리소스, 문서, 튜토리얼 등이 존재하여 사용자들이 문제를 해결하거나 새로운 기능을 구현하는 데 도움을 받을 수 있습니다.
- 스케일링: Jenkins는 마스터-슬레이브 구조를 통해 대규모 프로젝트와 팀에서도 효과적으로 스케일링될 수 있습니다. 다양한 환경에서 동시에 여러 작업을 실행할 수 있습니다.
- 개발-배포 사이클 단축: 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를 볼 수 있습니다.
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 정보를 확인 하고 싶으면 아래를 참고 하세요!!