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

Jenkins矩阵流水线中Allure报告被覆盖的修复方法咨询

解决Jenkins矩阵项目中Allure报告被覆盖的问题

问题根因很明确:Jenkins矩阵项目的所有实例共享同一个工作空间,你现在把两个城市的Allure测试结果都输出到target/allure-results目录,后运行的CITY_02自然会覆盖CITY_01的结果文件,最终就只剩后者的报告了。

下面给两种修复方案,按需选择:

方案1:每个城市生成独立报告

给每个矩阵实例的测试结果分配独立目录,用矩阵变量CITY_NAME做区分,同时同步修改测试执行和报告生成的路径:

stages {
    stage("Build Matrix Project") {
        matrix {
            axes {
                axis {
                    name "CITY_NAME"
                    values "CITY_01", "CITY_02"
                }
            }
            stages {
                stage("Build and Run Tests") {
                    steps {
                        // 重点:修改测试命令,把结果输出到带城市变量的目录
                        // 比如Maven项目可以加参数:mvn test -Dallure.results.directory=target/allure-results-${CITY_NAME}
                        ....
                    }
                }
                
                stage("Generate Reports") { 
                    steps {
                        allure commandline: "Allure 2.18.1", 
                               includeProperties: false, 
                               jdk: "", 
                               results: [[path: "target/allure-results-${CITY_NAME}"]], 
                               reportBuildPolicy: "ALWAYS"
                    }
                }
            }
        }
    }
}

方案2:生成包含所有城市结果的合并报告

如果想要一份整合两个城市测试结果的报告,可以在所有矩阵实例执行完后,统一收集各城市的结果目录生成合并报告:

stages {
    stage("Build Matrix Project") {
        matrix {
            axes {
                axis {
                    name "CITY_NAME"
                    values "CITY_01", "CITY_02"
                }
            }
            stages {
                stage("Build and Run Tests") {
                    steps {
                        // 同样要把测试结果输出到独立目录
                        // 示例:mvn test -Dallure.results.directory=target/allure-results-${CITY_NAME}
                        ....
                    }
                }
            }
        }
        
        stage("Generate Combined Allure Report") {
            steps {
                allure commandline: "Allure 2.18.1", 
                       includeProperties: false, 
                       jdk: "", 
                       results: [
                           [path: "target/allure-results-CITY_01"], 
                           [path: "target/allure-results-CITY_02"]
                       ], 
                       reportBuildPolicy: "ALWAYS"
            }
        }
    }
}

内容的提问来源于stack exchange,提问作者Vel Ganesh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 06:18:28