Jenkins 설치 및 환경 구축
2️⃣ Jenkins 설치 및 환경 구축
1. Jenkins 설치 방법 비교 (Docker, Bare Metal, Kubernetes)
Jenkins는 다양한 환경에서 설치할 수 있습니다. 각 방법에 따라 설치 절차와 장단점이 다릅니다.
-
Docker: Docker를 사용하면 Jenkins 설치가 간편하고, 컨테이너화된 환경에서 실행됩니다. 이 방법은 빠르게 Jenkins를 실행하고, 환경을 격리할 수 있는 장점이 있습니다.
예시: Docker를 이용한 Jenkins 설치 명령
docker pull jenkins/jenkins:lts docker run -d -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts
-
Bare Metal: 물리적 서버에 Jenkins를 직접 설치하는 방법입니다. 이 방법은 안정적이고 성능이 중요할 때 적합하지만, 설정과 유지 관리가 상대적으로 복잡합니다.
예시: Ubuntu에서 Jenkins 설치
sudo apt update sudo apt install openjdk-11-jdk wget -q -O - https://pkg.jenkins.io/keys/jenkins.io.key | sudo apt-key add - sudo sh -c 'echo deb http://pkg.jenkins.io/debian/ stable main > /etc/apt/sources.list.d/jenkins.list' sudo apt update sudo apt install jenkins
-
Kubernetes: Jenkins를 Kubernetes 클러스터에 배포하여 확장성과 가용성을 높일 수 있습니다. 여러 파드에서 Jenkins를 실행할 수 있으며, Jenkins를 Kubernetes 클러스터에 자동으로 배포할 수 있는 Helm 차트를 제공하는 경우도 많습니다.
예시: Kubernetes에서 Jenkins 설치
helm install jenkins stable/jenkins
2. Jenkins 설치 전 사전 요구사항 (Java 버전, 권장 하드웨어 사양)
Jenkins는 Java 8 이상 버전에서 실행됩니다. 따라서 Java가 설치되어 있어야 하며, Jenkins를 실행하기 전에 Java를 설치해야 합니다.
Java 설치 예시 (Ubuntu)
sudo apt update
sudo apt install openjdk-11-jdk
Jenkins 권장 하드웨어 사양:
- CPU: 2개 이상의 코어
- 메모리: 최소 4GB RAM
- 디스크 공간: 최소 10GB 이상
3. Jenkins LTS vs Weekly Release 차이
-
LTS (Long Term Support): LTS 버전은 안정성에 중점을 두고, 중요한 보안 업데이트와 버그 수정만 제공됩니다. 장기적으로 안정적인 환경을 원하는 경우 사용합니다.
-
Weekly Release: 매주 새로운 기능과 업데이트가 포함된 버전으로, 최신 기능을 빨리 사용하고 싶은 개발자에게 적합합니다. 하지만 안정성에 있어 LTS 버전보다 낮을 수 있습니다.
차이점 요약:
버전 | 특징 | 추천 대상 |
---|---|---|
LTS | 안정성, 보안 패치 중심 | 장기적으로 안정적인 운영 필요 |
Weekly | 최신 기능, 빠른 업데이트, 새로운 기능 제공 | 최신 기능을 자주 사용해야 할 경우 |
4. Jenkins를 Linux/Mac/Windows에서 설치하기
-
Linux: 대부분의 Linux 배포판에서 패키지 관리자를 통해 설치할 수 있습니다.
예시: CentOS에서 Jenkins 설치
sudo yum install java-11-openjdk sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key sudo yum install jenkins sudo systemctl start jenkins
-
Mac: Homebrew를 사용하여 간편하게 설치할 수 있습니다.
예시: Mac에서 Jenkins 설치
brew install jenkins-lts
-
Windows: Windows용 MSI 설치 파일을 다운로드하여 GUI 방식으로 설치할 수 있습니다.
예시: Windows에서 Jenkins 설치
- Jenkins 다운로드: Jenkins 공식 사이트
- MSI 파일을 실행하고 설치 진행
5. Jenkins를 Docker 및 Kubernetes에서 실행하기
-
Docker: 위에서 설명한 것처럼 Docker를 사용하여 Jenkins를 컨테이너화하여 실행할 수 있습니다.
예시: Docker Compose를 사용한 Jenkins 실행
version: '3' services: jenkins: image: jenkins/jenkins:lts ports: - "8080:8080" - "50000:50000" volumes: - jenkins_home:/var/jenkins_home volumes: jenkins_home:
-
Kubernetes: Helm 차트를 사용하여 Kubernetes 클러스터에서 Jenkins를 설치할 수 있습니다.
예시: Helm을 사용한 Jenkins 설치
helm install jenkins stable/jenkins
6. Jenkins의 기본 설정 및 관리자 계정 생성
Jenkins를 처음 실행하면 초기 설정 화면이 표시됩니다. 이때 관리자 계정을 생성하고 기본 설정을 진행할 수 있습니다.
초기 설정 예시:
- Jenkins 웹 UI에 접속 (기본 포트: 8080)
- Unlock Jenkins 화면에서 초기 비밀번호를 입력 (파일 경로:
/var/lib/jenkins/secrets/initialAdminPassword
) - 관리자 계정을 설정하고, 필요한 플러그인 설치
7. Jenkins UI 개요 및 주요 설정 옵션
Jenkins의 UI는 여러 섹션으로 나누어져 있으며, 주요 기능을 빠르게 접근할 수 있습니다.
- Dashboard: Jenkins의 주요 작업을 관리하는 홈 화면
- New Item: 새로운 작업(Job)을 생성하는 옵션
- Manage Jenkins: Jenkins의 전반적인 설정을 관리하는 메뉴
- Manage Plugins: 플러그인을 설치 및 관리하는 메뉴
그림: Jenkins UI 화면
Jenkins UI는 사용자 친화적이며, 기본적인 빌드, 배포, 테스트 작업을 쉽게 설정하고 관리할 수 있습니다.