ใน Jenkins 2.138.3 มีท่อสองประเภทที่แตกต่างกัน
ไปป์ไลน์ที่เปิดเผยและสคริปต์
"ไปป์ไลน์ประกาศเป็นส่วนขยายใหม่ของ DSL ไปป์ไลน์ (โดยพื้นฐานแล้วจะเป็นสคริปต์ไปป์ไลน์ที่มีเพียงขั้นตอนเดียวคือขั้นตอนไปป์ไลน์ที่มีอาร์กิวเมนต์ (เรียกว่าคำสั่ง) คำสั่งเหล่านี้ควรเป็นไปตามไวยากรณ์เฉพาะประเด็นของรูปแบบใหม่นี้คือ มีความเข้มงวดมากขึ้นดังนั้นจึงควรง่ายกว่าสำหรับผู้ที่เพิ่งเริ่มใช้ไปป์ไลน์อนุญาตให้แก้ไขกราฟิกและอื่น ๆ อีกมากมายไปป์ไลน์แบบสคริปต์เป็นทางเลือกสำหรับข้อกำหนดขั้นสูง "
jenkins ไปป์ไลน์: ตัวแทน vs โหนด?
นี่คือตัวอย่างของการใช้สภาพแวดล้อมและตัวแปรส่วนกลางใน Declarative Pipeline จากสิ่งที่ฉันสามารถบอกได้ว่าสภาพแวดล้อมนั้นคงที่หลังจากตั้งค่าแล้ว
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