개요
2023.10.30 - [Jenkins] 파이프라인 생성에서 간단하게 예제를 이용해 파이프라인을 생성하고 실행해 봤는데, 이 글에서는 파이프라인을 구성하고 있는 요소에 대해 정리해보려고 한다.
구성 요소
Pipeline
CD 파이프라인의 사용자 정의 모델.
일반적으로 애플리케이션을 빌드하고, 테스트한 뒤 전달하는 과정을 포함하는 전체적인 빌드 프로세스를 정의한다.
Node
Jenkins 환경의 일부임과 동시에 파이프라인을 실행할 수 있는 머신.
Stage
전체 파이프라인을 통해 수행되는 태스크를 개념적으로 구별한 하위 집합.
Jenkins 파이프라인의 상태와 진행 상황을 시각화하는 기준이 된다.
Step
단일 작업.
Jenkins에게 어떤 시점에 무엇을 해야 하는지 정의한다.
Pipeline 구문
Pipeline 구문에는 Declarative Pipeline Syntax, Scripted Pipeline Syntax 두 가지 종류가 있다. 두 구문은 근본적으로 다르게 구성되는데, Declarative Pipeline Syntax가 Scripted Pipeline Syntax보다 제공하는 기능이 풍부하고, 가독성 있게 설계되었다.
Declarative Pipeline Syntax
pipeline 블록에서 전체 파이프라인에서 수행하는 모든 작업을 정의하며, 기본적인 명령문과 표현식은 Groovy와 동일하다.
Declarative Pipeline Syntax는 반드시 pipeline 블록으로 시작해야 하며, 세미콜론으로 명령문을 구분할 수 없다.
pipeline {
agent any // 파이프라인을 실행할 환경 지정
stages {
stage('Build') { // Build stage 정의
steps {
// Build stage에서 실행할 step 정의
}
}
stage('Test') {
steps {
//
}
}
stage('Deploy') {
steps {
//
}
}
}
}
Scripted Pipeline Syntax
전체 파이프라인에서 하나 이상의 node 블록이 핵심 작업을 수행한다.
Groovy로 구축된 범용 DSL로, Groovy가 제공하는 대부분의 기능을 사용할 수 있도록 되어있어 continuous delivery 파이프라인을 구성할 수 있는 표현적이고 유연한 도구이다.
node {
stage('Build') {
//
}
stage('Test') {
//
}
stage('Deploy') {
//
}
}
참고 문서
https://www.jenkins.io/doc/book/pipeline/#pipeline-concepts
https://www.jenkins.io/doc/book/pipeline/#pipeline-syntax-overview