Jenkins 2.138.3에는 두 가지 유형의 파이프 라인이 있습니다.
선언적 및 스크립팅 된 파이프 라인.
"선언적 파이프 라인은 파이프 라인 DSL의 새로운 확장입니다 (기본적으로 한 단계 만있는 파이프 라인 스크립트, 인수가있는 파이프 라인 단계 (지시문이라고 함)). 이러한 지시문은 특정 구문을 따라야합니다.이 새로운 형식의 요점은 더 엄격하므로 파이프 라인을 처음 접하는 사람들에게 더 쉬워야하며 그래픽 편집 등을 허용해야합니다. 스크립팅 된 파이프 라인은 고급 요구 사항을위한 대안입니다. "
젠킨스 파이프 라인 : 에이전트 대 노드?
다음은 선언적 파이프 라인에서 환경 및 전역 변수를 사용하는 예입니다. 환경이 설정된 후 정적이라고 말할 수 있습니다.
def browser = 'Unknown'
pipeline {
agent any
environment {
//Use Pipeline Utility Steps plugin to read information from pom.xml into env variables
IMAGE = readMavenPom().getArtifactId()
VERSION = readMavenPom().getVersion()
}
stages {
stage('Example') {
steps {
script {
browser = sh(returnStdout: true, script: 'echo Chrome')
}
}
}
stage('SNAPSHOT') {
when {
expression {
return !env.JOB_NAME.equals("PROD") && !env.VERSION.contains("RELEASE")
}
}
steps {
echo "SNAPSHOT"
echo "${browser}"
}
}
stage('RELEASE') {
when {
expression {
return !env.JOB_NAME.equals("TEST") && !env.VERSION.contains("RELEASE")
}
}
steps {
echo "RELEASE"
echo "${browser}"
}
}
}//end of stages
}//end of pipeline