You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jenkins中当Konsist单元测试阶段失败时继续构建并标记为不稳定

Jenkinsfile 调整方案:Konsist阶段失败时继续执行并标记构建不稳定

针对需求——当Konsist架构规则测试阶段失败时,不中断后续单元测试流程,同时把整个构建标记为不稳定状态,可对原有Jenkinsfile做如下修改:

// first set of unit tests
stage("konsist (architecture rules)") {
    try {
        fastlaneUtils.run("konsist") // 执行gradlew :konsist:test
    } catch (Exception e) {
        // 捕获测试失败异常,将构建标记为不稳定
        currentBuild.result = 'UNSTABLE'
        // 可选:打印异常信息便于排查
        echo "Konsist架构测试失败,标记构建为不稳定: ${e.getMessage()}"
    } finally {
        dir('../') {
            junit(
                testResults: '**/test-results/**/*.xml'
            )
        }
    }
}
// second set of unit tests
stage("unit tests") {
    try {
        fastlaneUtils.run("test") // 执行其他所有单元测试
    } finally {
        dir('../') {
            junit(
                testResults: '**/test-results/**/*.xml'
            )
        }
    }
}

关键改动说明

  • 捕获异常避免中断:新增catch (Exception e)块捕获Konsist测试失败抛出的异常,阻止阶段失败直接终止整个流水线,确保后续unit tests阶段能正常执行
  • 标记构建状态:在catch块中设置currentBuild.result = 'UNSTABLE',Jenkins会将构建状态显示为黄色的「不稳定」,既区别于成功的绿色,也不同于直接失败的红色
  • 保留测试报告:finally块的junit步骤不受影响,无论Konsist测试成功或失败,都会收集并展示测试结果,方便排查问题
  • 不影响后续流程:异常被处理后,流水线会自动进入下一个unit tests阶段,完成所有测试任务

内容的提问来源于stack exchange,提问作者Benjamin Mesing

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 18:13:13