我在管道顶部的环境指令中定义了env变种:
environment {
var1 = 'sdfsdfdsf'
var2 = 'sssssss'
}
但有一些我需要在阶段中动态设置或覆盖。但是如果我在一个阶段使用环境{}指令,那么其他阶段就无法访问变量。最初我认为我可以使用top environment指令中的默认值来定义它们并在管道中覆盖它们但这是我观察到的行为:
script {env.var1 = 'new value'}
如何更改envs?
答案 0 :(得分:1)
您可以按照以下方式执行此操作:
您可以在其他阶段访问相同的var并更改环境中的值{env.var1 =' value2' }
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)
}
}
}
}
}