Trong Jenkins 2.138.3 có hai loại đường ống khác nhau.
Đường ống khai báo và tập lệnh.
"Đường ống khai báo là một phần mở rộng mới của DSL đường ống (về cơ bản nó là một tập lệnh đường ống chỉ có một bước, một bước đường ống với các đối số (được gọi là chỉ thị), các chỉ thị này phải tuân theo một cú pháp cụ thể. Điểm của định dạng mới này là nó nghiêm ngặt hơn và do đó sẽ dễ dàng hơn đối với những người mới sử dụng đường ống, cho phép chỉnh sửa đồ họa và hơn thế nữa. Đường ống theo tập lệnh là dự phòng cho các yêu cầu nâng cao. "
đường ống jenkins: tác nhân và nút?
Đây là một ví dụ về việc sử dụng các biến môi trường và toàn cục trong một Đường ống so sánh. Từ những gì tôi có thể cho biết môi trường là tĩnh sau khi chúng được thiết lập.
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