Jenkins 설치 및 환경 구축

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 설치

    1. Jenkins 다운로드: Jenkins 공식 사이트
    2. 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를 처음 실행하면 초기 설정 화면이 표시됩니다. 이때 관리자 계정을 생성하고 기본 설정을 진행할 수 있습니다.

초기 설정 예시:

  1. Jenkins 웹 UI에 접속 (기본 포트: 8080)
  2. Unlock Jenkins 화면에서 초기 비밀번호를 입력 (파일 경로: /var/lib/jenkins/secrets/initialAdminPassword)
  3. 관리자 계정을 설정하고, 필요한 플러그인 설치

7. Jenkins UI 개요 및 주요 설정 옵션

Jenkins의 UI는 여러 섹션으로 나누어져 있으며, 주요 기능을 빠르게 접근할 수 있습니다.

  • Dashboard: Jenkins의 주요 작업을 관리하는 홈 화면
  • New Item: 새로운 작업(Job)을 생성하는 옵션
  • Manage Jenkins: Jenkins의 전반적인 설정을 관리하는 메뉴
  • Manage Plugins: 플러그인을 설치 및 관리하는 메뉴

그림: Jenkins UI 화면

Jenkins UI는 사용자 친화적이며, 기본적인 빌드, 배포, 테스트 작업을 쉽게 설정하고 관리할 수 있습니다.

RSS Feed