0Pricing
DevOps Bootcamp · 강의

Jenkinsfile을 활용한 코드형 Jenkins Pipeline

저장소에 포함된 Jenkinsfile에 빌드, 테스트, 배포 단계를 선언적으로 정의해 애플리케이션과 함께 pipeline 자체도 버전 관리하는 방법을 배워 보세요.

Jenkinsfile을 활용한 코드형 Jenkins Pipeline은(는) CoddyKit의 무료 DevOps Bootcamp 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 DevOps Bootcamp 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

코드로 관리하는 파이프라인

Jenkins UI에서 작업을 수동으로 구성하는 대신 저장소에 저장된 Jenkins 파일에 전체 파이프라인을 설명합니다. 그러면 파이프라인이 코드가 되어 검토하고 버전을 관리하며 이식할 수 있습니다.

선언형과 스크립트형

Jenkins는 두 가지 구문을 제공합니다. 선언형 파이프라인은 구조가 명확하고 초보자에게 친숙하며, 스크립트형 파이프라인은 완전한 Groovy 코드로 작성합니다. 여기서는 선언형을 중점적으로 다룹니다.

파이프라인 블록

모든 선언형 Jenkins 파일은 실행 위치를 지정하는 agent와 stages를 포함하는 pipeline 블록으로 시작합니다.

pipeline {
  agent any
  stages {
    stage('Build') {
      steps { echo 'Building...' }
    }
  }
}

스테이지 정의하기

각 stage는 관련된 steps를 하나로 묶습니다. 스테이지는 Jenkins UI에서 열로 표시되므로 파이프라인 진행 상황을 시각적으로 명확하게 확인할 수 있습니다.

stages {
  stage('Build') { steps { sh 'make build' } }
  stage('Test')  { steps { sh 'make test' } }
}

셸 단계 실행하기

sh 단계는 에이전트에서 셸 명령을 실행합니다. 코드를 컴파일하거나 테스트를 실행하거나 Docker 이미지를 빌드할 때 사용합니다.

steps {
  sh 'docker build -t myapp:${BUILD_NUMBER} .'
}

환경 변수

environment 블록은 모든 단계에서 사용할 변수를 정의합니다. Jenkins는 BUILD_NUMBER와 GIT_COMMIT 같은 기본 제공 변수도 노출합니다.

environment {
  REGISTRY = 'registry.example.com'
  IMAGE    = 'myapp'
}

자격 증명 연결

비밀 정보를 코드에 직접 입력하지 마세요. Jenkins 자격 증명에 저장한 뒤 credentials() 도우미로 가져오면 로그에서 해당 정보가 가려집니다.

environment {
  REG_PASS = credentials('registry-password')
}

사후 작업

post 블록은 스테이지가 끝난 후 결과에 따라 분기하여 실행됩니다. 알림과 정리 작업에 적합합니다.

post {
  success { echo 'Pipeline succeeded' }
  failure { echo 'Pipeline failed' }
  always  { sh 'docker image prune -f' }
}

병렬 스테이지

parallel을 사용해 서로 독립적인 작업을 동시에 실행하면 속도를 높일 수 있습니다. 예를 들어 단위 테스트와 통합 테스트를 동시에 실행할 수 있습니다.

stage('Tests') {
  parallel {
    stage('Unit') { steps { sh 'make unit' } }
    stage('Integration') { steps { sh 'make int' } }
  }
}

조건부 스테이지

when 지시어는 조건이 충족될 때만 스테이지를 실행합니다. 예를 들어 기본 브랜치에서만 배포하도록 설정할 수 있습니다.

stage('Deploy') {
  when { branch 'main' }
  steps { sh './deploy.sh' }
}

다중 브랜치 파이프라인

Jenkins가 저장소를 가리키도록 설정하면 Jenkins 파일이 있는 모든 브랜치를 찾아 브랜치별로 파이프라인을 자동으로 생성합니다. 기능 브랜치도 별도 설정 없이 CI를 사용할 수 있습니다.

빠른 확인

선언형 파이프라인 정의는 어디에 저장되나요?

복습

이제 파이프라인을 코드로 정의하는 방법을 배웠습니다.

  • pipeline { agent; stages }는 선언형 파이프라인의 기본 뼈대입니다
  • sh 단계는 명령을 실행하고, environment와 credentials()는 구성을 관리합니다
  • post, parallel, when으로 기능을 확장할 수 있습니다
  • 다중 브랜치 파이프라인은 모든 브랜치에 CI를 자동으로 제공합니다

Jenkins 파일은 코드와 함께 저장되며 코드와 함께 발전합니다.

자주 묻는 질문

“Jenkinsfile을 활용한 코드형 Jenkins Pipeline” 강의는 무료인가요?

네 — “Jenkinsfile을 활용한 코드형 Jenkins Pipeline” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 DevOps Bootcamp 강의 전체를 잠금 해제할 수 있습니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

“Jenkinsfile을 활용한 코드형 Jenkins Pipeline”에서 뭘 배우나요?

저장소에 포함된 Jenkinsfile에 빌드, 테스트, 배포 단계를 선언적으로 정의해 애플리케이션과 함께 pipeline 자체도 버전 관리하는 방법을 배워 보세요. 브라우저에서 직접 실행하는 실습 코드로 DevOps Bootcamp을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

DevOps Bootcamp을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 DevOps Bootcamp은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“Jenkinsfile을 활용한 코드형 Jenkins Pipeline” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 DevOps Bootcamp 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 DevOps Bootcamp 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. Jenkins 소개
  2. Jenkins로 Docker 이미지 빌드하기
  3. Jenkins를 활용한 자동 배포
  4. Jenkinsfile을 활용한 코드형 Jenkins Pipeline
← DevOps Bootcamp(으)로 돌아가기