如何在Jenkinsfile的管道阶段内更新Jenkins Properties全局环境变量

时间:2018-08-27 20:49:03

标签: jenkins jenkins-pipeline

想要更新“ .env”属性值,以便下次执行时具有新值。

loggingUtils.info("${env.testVar}")

env.testVar = "cat"

loggingUtils.info("${env.testVar}")

当前发生的情况是,如果我将jenkins中配置的“ env.testVar”的值设置为“ dog”,则打印语句将是:

dog
cat

但是下次执行时,我希望它是

cat
cat

但是,总是

dog
cat

是否有一种方法可以设置环境变量,以便将来的版本中包含新变量?如果可能的话,我宁愿不用插件也可以这样做

1 个答案:

答案 0 :(得分:0)

Jenkins中的建筑物(可以看作是“执行实例”)彼此独立。

如果您尝试通过在各个版本之间交换信息来将各个版本联系在一起,我鼓励您考虑一下您真正想做什么,并建议您可能没有正确进行持续集成。

每次执行构建都从头开始。持续集成始终始于源代码管理中的内容。派生的任何内容都不应用于源代码控制。

我建议环境配置通常应存储在源代码管理的配置文件中,并通过参数适当地应用于构建。 (即,我要将给定的版本部署到什么环境?)。