在某个Jenkins配置中,我希望触发另一个配置为发布构建操作。 我想将当前构建状态作为参数之一传递。
IE:表示状态的字符串/ int(SUCCESS / FAIL / UNSTABLE)。
我有2个选项来创建帖子构建触发器:
使用加入插件
在构建后操作中使用触发器参数化构建
我希望在运行结束时有某种可访问的env变量...
有什么想法吗?
谢谢!
答案 0 :(得分:4)
这是一个简单的解决方案,可以回答大多数情况:
使用'触发器参数化构建'插件,并设置两个触发器 -
每个触发器应该运行相同的工作 - 让我们称之为' JOB_B '。
对于每个触发器,传递您喜欢的任何参数,并传递用户定义的值:
现在,您需要做的就是从 JOB_B 测试 $ {JOB_A_STATUS} 的值,看看它是否设置为'SUCCESS'或'FAIL'
请注意,此解决方案不区分“稳定”和“不稳定”,但只知道“失败”和“成功”之间的区别。
祝你好运!答案 1 :(得分:2)
您可以通过Groovy Post-Build plugin在构建后步骤中使用Groovy脚本检查状态,该Jenkins Java API可以通过{{3}}访问Jenkins内部。该插件为脚本提供了变量 manager ,可用于访问API的重要部分(请参阅插件文档中的 Usage 部分)。
例如,这是您可以将构建结果输出到构建控制台的方法:
def result = manager.build.result
manager.listener.logger.println "And the result is: ${result}"
现在,您可以使用该值创建属性文件,并将该文件传递给参数化触发器构建后步骤(它有这样的选项)。
一个警告:我不确定是否可以安排构建后步骤以特定顺序执行,以确保Groovy后构建步骤在参数化触发器步骤之前运行。