7월 16일 - 젠킨스

Yullgiii·2024년 7월 17일
0
post-thumbnail

Jenkins에 관한 TIL

젠킨스(Jenkins)는 오픈 소스 자동화 서버로, 주로 소프트웨어 개발 시 지속적 통합(Continuous Integration, CI)과 지속적 배포(Continuous Delivery, CD)를 위해 사용된다. 젠킨스를 통해 프로젝트의 빌드, 테스트, 배포 과정을 자동화할 수 있다.

젠킨스의 주요 기능

  1. 자동화된 빌드 및 테스트: 코드 변경 시 자동으로 빌드 및 테스트를 수행하여 빠른 피드백을 제공한다.
  2. 플러그인 지원: 다양한 플러그인을 통해 기능을 확장할 수 있다. 예를 들어, Git, Docker, Maven 등의 플러그인을 통해 다양한 작업을 자동화할 수 있다.
  3. 분산 빌드: 여러 노드에서 병렬로 빌드를 실행하여 빌드 시간을 단축할 수 있다.
  4. 파이프라인: 빌드, 테스트, 배포 과정을 코드로 정의할 수 있는 파이프라인 기능을 제공한다.

젠킨스 설치 및 설정

설치

젠킨스는 다양한 플랫폼에서 설치할 수 있다. 여기서는 Docker를 사용하여 젠킨스를 설치하는 방법을 다룬다.

docker run -d -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts

초기 설정

  1. 웹 브라우저에서 http://localhost:8080으로 접속한다.
  2. 초기 관리자 비밀번호를 입력한다. 비밀번호는 Docker 컨테이너 로그에서 확인할 수 있다.
docker exec <container_id> cat /var/jenkins_home/secrets/initialAdminPassword
  1. 플러그인 설치 화면에서 기본 플러그인을 설치한다.
  2. 관리자 계정을 생성한다.
  3. 젠킨스 설정을 완료한다.

젠킨스 파이프라인 설정

젠킨스 파이프라인을 사용하여 빌드, 테스트, 배포 과정을 자동화할 수 있다. 파이프라인은 Jenkinsfile이라는 파일에 정의한다.

Jenkinsfile 예제

다음은 Maven 프로젝트를 빌드하고 테스트하는 Jenkinsfile 예제이다.

pipeline {
    agent any

    stages {
        stage('Build') {
            steps {
                echo 'Building...'
                sh 'mvn clean package'
            }
        }
        stage('Test') {
            steps {
                echo 'Testing...'
                sh 'mvn test'
            }
        }
        stage('Deploy') {
            steps {
                echo 'Deploying...'
                sh 'mvn deploy'
            }
        }
    }
}

Jenkins 파이프라인 생성

  1. 젠킨스 대시보드에서 "새로운 아이템"을 클릭한다.
  2. "파이프라인"을 선택하고 아이템 이름을 입력한 후 "확인"을 클릭한다.
  3. 파이프라인 설정 페이지에서 "파이프라인" 섹션으로 이동한다.
  4. "Pipeline script from SCM"을 선택하고, 소스 코드 관리(SCM)로 Git을 선택한다.
  5. 저장소 URL을 입력하고, Jenkinsfile 경로를 지정한다.
  6. 설정을 저장하고 빌드를 실행한다.

So...

젠킨스는 CI/CD를 위한 강력한 도구로, 소프트웨어 개발 프로세스를 자동화하여 개발 속도를 높이고 품질을 개선할 수 있다. 다양한 플러그인과 파이프라인 기능을 통해 유연하고 확장 가능한 빌드, 테스트, 배포 환경을 구축할 수 있다. 위 예제에서는 Docker를 사용한 젠킨스 설치 및 기본 파이프라인 설정 방법을 다루었다. 이를 통해 젠킨스를 효과적으로 활용하여 개발 프로세스를 자동화할 수 있을 것이다.

profile
개발이란 무엇인가..를 공부하는 거북이의 성장일기 🐢

0개의 댓글