【问题标题】:Mark Jenkins builds red/yellow depending on test/integration-test failuresMark Jenkins 根据测试/集成测试失败构建红色/黄色
【发布时间】:2013-09-06 15:55:30
【问题描述】:
我配置了 Jenkins 构建(项目使用 Java、Maven、JUnit)。根据单元测试失败的 Maven 阶段,我想将构建标记为红色、黄色或绿色:
编译错误:红色
Maven 阶段“测试”失败:红色
Maven 阶段“集成测试”失败:黄色
成功:绿色
我该怎么做?
【问题讨论】:
标签:
maven
junit
jenkins
integration-testing
【解决方案1】:
您可以使用类似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
}
}
}