在Jenkins中设置和访问全局环境变量

时间:2015-01-11 22:45:36

标签: jenkins

我有一个Jenkins管道视图。比如说第一份工作是BUILD,然后是DEPLOYTEST工作。我在这里想要实现的是拥有一个回滚逻辑'在测试作业中,意味着当测试作业运行并且成功时,我想将当前构建no设置为全局环境变量(以便我可以从任何作业中访问构建号),可能称为TESTED_BUILD_NO。但是如果测试失败,那么我想通过传递将部署最后一次测试版本的DEPLOY来触发TESTED_BUILD_NO作业。

有一个名为promotion builds plugin的插件,它提到PROMOTION_BUILD_NO变量,但是当我查看/env-vars.html时,它没有列在那里。我也厌倦了看api / xml,但没有提到任何促销变量。我在这里提到的这个逻辑可以使用这个插件来实现吗?如果不是如何在Jenkins中设置和访问全局环境?

2 个答案:

答案 0 :(得分:1)

您可以始终使用由{jenkins自动设置的lastStableBuild,而不是使用全局变量。在DEPLOY作业中,使用lastStableBuild作业TEST的链接,其形式为:http://JENKINS_ADDRESS/job/JENKINS_JOB/lastStableBuild/

根据詹金斯wiki

  

稳定构建如果构建成功并且没有发布者将其报告为不稳定,则构建是稳定的。

答案 1 :(得分:0)

建议您从系统管理屏幕管理全局变量:

管理Jenkins - >配置系统 - >全球物业 与将这些外部设置为Jenkins相比,更加可靠。

这可以使用脚本或通过执行shell / batch进行更改。 或者您可以使用简单的groovy脚本来根据Previous命令/构建状态更改值。