3

我配置了 Jenkins 构建(项目使用 Java、Maven、JUnit)。根据单元测试失败的 Maven 阶段,我想将构建标记为红色、黄色或绿色:

  • 编译错误:红色

  • Maven阶段“测试”中的失败:红色

  • Maven 阶段“集成测试”中的失败:黄色

  • 成功:绿色

我该怎么做?

4

1 回答 1

2

您可以使用诸如Jenkins Text Finder插件之类的东西来解析特定模式的日志。这应该可以满足基本需求。

如果您需要更复杂的东西(听起来可能),您可以查看Groovy Post Build插件并使用 Groovy 脚本执行此操作。该脚本仍将解析控制台日志,但为您提供了更多的灵活性,并允许您将自定义消息添加到构建页面。

像下面这样的东西可能会起作用:

class ChangeResult {

    static def run(manager) {

        if(manager.logContains("Some compilation error")) {
            manager.addWarningBadge("Compilation Error")
            manager.createSummary("warning.gif").appendText("Build failed due to compilation error", false, false, false, "red")
            manager.build.@result = hudson.model.Result.FAILURE
        }
        if(manager.logContains("Some integration error")) {
            manager.addWarningBadge("Integration Error")
            manager.createSummary("warning.gif").appendText("Build unstable due to integration error", false, false, false, "red")
            manager.build.@result = hudson.model.Result.UNSTABLE
        }
    }
}
于 2015-03-17T20:49:44.353 回答