Jenkins

Pipeline과 Scripted Pipeline

Jenkins Pipeline 개념

Jenkins Pipeline은 Jenkins에서 CI/CD 파이프라인을 코드로 정의하고 실행하는 강력한 방법입니다. 파이프라인은 여러 단계로 구성되어 있으며, 각 단계는 특정 작업(예: 빌드, 테스트, 배포)을 수행합니다. Jenkins Pipeline을 사용하면 복잡한 빌드 프로세스를 자동화하고 버전 관리를 통해 파이프라인 스크립트를 쉽게 공유하고 유지 관리할 수 있습니다.

파이프라인은 주로 두 가지 유형으로 작성할 수 있습니다:

  1. Scripted Pipeline: Groovy DSL을 사용하여 자유 형식으로 작성된 파이프라인.
  2. Declarative Pipeline: 간단한 구문을 사용하여 구조화된 형식으로 작성된 파이프라인.

Scripted Pipeline 기본 예제

Scripted Pipeline은 Groovy DSL을 사용하여 작성됩니다. 이 방식은 유연성과 강력한 기능을 제공하지만, 구문이 복잡할 수 있습니다.

예제 1: 간단한 Scripted Pipeline

  1. Pipeline Job 생성

    • Jenkins 대시보드에서 '새로운 Item'을 클릭합니다.
    • 이름을 입력하고 'Pipeline'을 선택한 후 '확인'을 클릭합니다.
  2. Pipeline 정의

    • 'Pipeline' 섹션에서 다음과 같은 스크립트를 입력합니다:
      node {
          stage('Build') {
              echo 'Building...'
              // 빌드 관련 명령어 실행
          }
          stage('Test') {
              echo 'Testing...'
              // 테스트 관련 명령어 실행
          }
          stage('Deploy') {
              echo 'Deploying...'
              // 배포 관련 명령어 실행
          }
      }
  3. 저장 및 실행

    • 설정을 마친 후 '저장' 버튼을 클릭합니다.
    • 생성된 Pipeline Job의 페이지로 이동하며, '빌드 실행' 버튼을 클릭하여 파이프라인을 수동으로 실행할 수 있습니다.
    • '빌드 내역' 섹션에서 빌드의 진행 상황을 확인할 수 있으며, 빌드 번호를 클릭하면 빌드 로그와 결과를 확인할 수 있습니다.

예제 2: Git에서 소스 코드 가져오기

다음 예제는 Git 저장소에서 소스 코드를 가져와 빌드하고 테스트하는 파이프라인입니다.

  1. Pipeline Job 생성

    • Jenkins 대시보드에서 '새로운 Item'을 클릭합니다.
    • 이름을 입력하고 'Pipeline'을 선택한 후 '확인'을 클릭합니다.
  2. Pipeline 정의

    • 'Pipeline' 섹션에서 다음과 같은 스크립트를 입력합니다:
      node {
          stage('Checkout') {
              git 'https://github.com/your-repository.git'
          }
          stage('Build') {
              echo 'Building...'
              // 빌드 관련 명령어 실행
          }
          stage('Test') {
              echo 'Testing...'
              // 테스트 관련 명령어 실행
          }
          stage('Deploy') {
              echo 'Deploying...'
              // 배포 관련 명령어 실행
          }
      }
  3. 저장 및 실행

    • 설정을 마친 후 '저장' 버튼을 클릭합니다.
    • 생성된 Pipeline Job의 페이지로 이동하며, '빌드 실행' 버튼을 클릭하여 파이프라인을 수동으로 실행할 수 있습니다.
    • '빌드 내역' 섹션에서 빌드의 진행 상황을 확인할 수 있으며, 빌드 번호를 클릭하면 빌드 로그와 결과를 확인할 수 있습니다.

파이프라인 스테이지와 스텝 구성

스테이지 (Stage): 파이프라인의 주요 단계를 나타내며, 각 단계는 특정 작업을 수행합니다. 예를 들어, 빌드, 테스트, 배포 단계가 있을 수 있습니다.

스텝 (Step): 각 스테이지 내에서 실행되는 개별 작업을 나타냅니다. 예를 들어, 쉘 명령어 실행, 스크립트 실행 등이 있습니다.

예제 3: 환경 변수 설정 및 사용

환경 변수를 설정하고 사용하는 예제입니다.

  1. Pipeline Job 생성

    • Jenkins 대시보드에서 '새로운 Item'을 클릭합니다.
    • 이름을 입력하고 'Pipeline'을 선택한 후 '확인'을 클릭합니다.
  2. Pipeline 정의

    • 'Pipeline' 섹션에서 다음과 같은 스크립트를 입력합니다:
      node {
          stage('Setup') {
              env.VERSION = '1.0.0'
          }
          stage('Build') {
              echo "Building version ${env.VERSION}..."
              // 빌드 관련 명령어 실행
          }
          stage('Test') {
              echo "Testing version ${env.VERSION}..."
              // 테스트 관련 명령어 실행
          }
          stage('Deploy') {
              echo "Deploying version ${env.VERSION}..."
              // 배포 관련 명령어 실행
          }
      }
  3. 저장 및 실행

    • 설정을 마친 후 '저장' 버튼을 클릭합니다.
    • 생성된 Pipeline Job의 페이지로 이동하며, '빌드 실행' 버튼을 클릭하여 파이프라인을 수동으로 실행할 수 있습니다.
    • '빌드 내역' 섹션에서 빌드의 진행 상황을 확인할 수 있으며, 빌드 번호를 클릭하면 빌드 로그와 결과를 확인할 수 있습니다.

이로써 Jenkins Scripted Pipeline의 기본 개념과 예제를 다루었습니다.

다음 섹션에서는 Declarative Pipeline에 대해 자세히 설명하겠습니다.

On this page