我有一个Jenkins管道视图。比如说第一份工作是BUILD
,然后是DEPLOY
和TEST
工作。我在这里想要实现的是拥有一个回滚逻辑'在测试作业中,意味着当测试作业运行并且成功时,我想将当前构建no设置为全局环境变量(以便我可以从任何作业中访问构建号),可能称为TESTED_BUILD_NO
。但是如果测试失败,那么我想通过传递将部署最后一次测试版本的DEPLOY
来触发TESTED_BUILD_NO
作业。
有一个名为promotion builds plugin的插件,它提到PROMOTION_BUILD_NO
变量,但是当我查看/env-vars.html时,它没有列在那里。我也厌倦了看api / xml,但没有提到任何促销变量。我在这里提到的这个逻辑可以使用这个插件来实现吗?如果不是如何在Jenkins中设置和访问全局环境?
答案 0 :(得分:1)
您可以始终使用由{jenkins自动设置的lastStableBuild
,而不是使用全局变量。在DEPLOY
作业中,使用lastStableBuild
作业TEST
的链接,其形式为:http://JENKINS_ADDRESS/job/JENKINS_JOB/lastStableBuild/
根据詹金斯wiki:
稳定构建如果构建成功并且没有发布者将其报告为不稳定,则构建是稳定的。
答案 1 :(得分:0)
建议您从系统管理屏幕管理全局变量:
管理Jenkins - >配置系统 - >全球物业 与将这些外部设置为Jenkins相比,更加可靠。
这可以使用脚本或通过执行shell / batch进行更改。 或者您可以使用简单的groovy脚本来根据Previous命令/构建状态更改值。