我在环境指令的管道顶部定义了环境变量:
environment { var1 = 'sdfsdfdsf' var2 = 'sssssss' }
但是我需要在阶段中动态设置或覆盖一些内容。但是,如果我在一个阶段中使用environment {}指令,则其他阶段将无法访问var。最初,我认为我可以在top环境指令中使用默认值定义它们,并在管道中覆盖它们,但这是我观察到的行为:
script {env.var1 = 'new value'}
如何更改环境?
您可以按照以下步骤进行操作:
pipeline { agent any environment { var1 = 'value' } stages { stage('Initialize') { steps { script { echo ("value : " + env.var1) } } } stage('build') { environment { var1 = 'value2' } steps { script { echo ("value : " + env.var1) } } } } }