Jenkins / Hudson上游作业未获得下游作业的状态“球”颜色

问题描述

| 我有一个上游工作,可以执行4个下游工作。 如果上游作业成功完成,则下游作业将开始执行。 由于上游作业成功完成,因此它会变成蓝色球(生成结果=稳定),但是即使艰难的下游作业失败(红色球)或不稳定(黄色球),上游作业仍会保持蓝色。 无论如何,是否有依赖于下游作业的工作来获得上游作业的结果?我的意思是,如果三个下游作业获得了稳定的构建,但其中一个获得了不稳定的构建,则上游构建的结果应该是不稳定的。     

解决方法

我找到了解决方案。有一个名为Groovy Postbuild插件的插件,可让您在后期构建阶段执行Groovy脚本。 在下游作业中添加一个简单的代码,即可修改上游的总体状态。 这是您需要添加的代码:
upstreamBuilds = manager.build.getUpstreamBuilds();

upstreamJob = upstreamBuilds.keySet().iterator().next();

lastUpstreamBuild = upstreamJob.getLastBuild();

if(lastUpstreamBuild.getResult().isBetterThan(manager.build.result)) {
    lastUpstreamBuild.setResult(manager.build.result);
}
您可以在我的博客条目中找到更多信息。     ,另一种可能对您有用的选项是使用参数化的构建插件。它允许您将4个“下游”构建作为构建步骤。这意味着,如果任何子版本失败,则您的“父版本”版本可能会失败。 当我们想隐藏构建管道插件视图的复杂性时,我们可以这样做。     ,我们遇到了类似的问题,但尚未找到完美的解决方案。部分解决方案是使用Promoted Builds插件。为上游项目配置它,以便在下游作业完成时包括一些可视指示器。它不会更改整体作业状态,但是会在下游作业失败时通知我们。     ,也许这个插件可以满足您的需求? Jenkins先决条件构建步骤插件     ,我项目的解决方法是创建新工作,这是下游工作的下游。我们在所有三个原始下游作业中都设置了一个后构建步骤“在其他项目上触发参数化的构建”。解析为新作业的参数取决于三个作业的状态,该参数将导致新作业做出相应的反应。 1.创建一个包含一个简单类和一个简单测试的新作业。两个参数都依赖,即如果参数``1''通过类,则类失败,如果参数``2''通过类,则类失败,以此类推。 2.为其他三个具有相关配置的原始下游作业,在其他项目上设置触发器参数化构建。 3.相应地设置新作业的通知。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...