如果要使用文件(由于脚本是生成所需值的东西),则可以
readFile如下所示使用。如果没有,请使用如下所示
sh的
script选项:
// Define a groovy global variable, myVar.// A local, def myVar = 'initial_value', didn't work for me.// Your mileage may vary.// Defining the variable here maybe adds a bit of clarity,// showing that it is intended to be used across multiple stages.myVar = 'initial_value'pipeline { agent { label 'docker' } stages { stage('one') { steps { echo "${myVar}" // prints 'initial_value' sh 'echo hotness > myfile.txt' script { // OPTION 1: set variable by reading from file. // FYI, trim removes leading and trailing whitespace from the string myVar = readFile('myfile.txt').trim() // OPTION 2: set variable by grabbing output from script myVar = sh(script: 'echo hotness', returnStdout: true).trim() } echo "${myVar}" // prints 'hotness' } } stage('two') { steps { echo "${myVar}" // prints 'hotness' } } // this stage is skipped due to the when expression, so nothing is printed stage('three') { when { expression { myVar != 'hotness' } } steps { echo "three: ${myVar}" } } }}


