जेनकिंस 2.138.3 में दो अलग-अलग प्रकार की पाइपलाइन हैं।
घोषणा और स्क्रिप्टेड पाइपलाइन।
"घोषणात्मक पाइपलाइन पाइपलाइन डीएसएल का एक नया विस्तार है (यह मूल रूप से केवल एक कदम के साथ एक पाइपलाइन स्क्रिप्ट है, तर्कों के साथ एक पाइपलाइन कदम (निर्देश कहा जाता है), इन निर्देशों को एक विशिष्ट वाक्यविन्यास का पालन करना चाहिए। इस नए प्रारूप की बात यह है कि अधिक सख्त है और इसलिए उन नई पाइपलाइनों के लिए आसान होना चाहिए, ग्राफिकल एडिटिंग के लिए अनुमति देता है और बहुत कुछ। स्क्रिप्टेड पाइपलाइन उन्नत आवश्यकताओं के लिए कमबैक है। "
जेनकींस पाइपलाइन: एजेंट बनाम नोड?
यहां एक घोषणात्मक पाइपलाइन में पर्यावरण और वैश्विक चर का उपयोग करने का एक उदाहरण है। मैं जो बता सकता हूं कि वे सेट होने के बाद पर्यावरण स्थिर हैं।
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