【发布时间】:2021-08-11 13:38:47
【问题描述】:
我想在一个阶段设置一个环境变量,并让它在所有后续阶段和步骤中可用。像这样的:
pipeline {
stages {
stage('One') {
steps {
sh 'export MY_NAME=$(whoami)'
}
}
stage('Two') {
steps {
sh 'echo "I am ${MY_NAME}"'
}
}
stage('Three') {
steps {
sh 'echo "I am ${MY_NAME}"'
}
}
}
}
那些sh 步骤似乎是相互独立的,导出的var 甚至没有保留到下一步,更不用说Stage了。
我能想到的一种方法是将 var 写入 shell 文件,例如 echo "FOLDER_CONTENT=$(ls -lh)" 然后 source 下一步,但同样,我必须在每个下一步中进行采购,这是次优的。
有更好的方法吗?
【问题讨论】:
标签: jenkins jenkins-pipeline jenkins-job-dsl