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

Jenkins矩阵构建完成后如何聚合所有并行任务的结果文件?

Jenkins矩阵构建结果汇总解决方案

方案1:使用原生stash/unstash(无需额外插件)

这是最简便的实现方式,利用Jenkins内置的文件暂存能力跨代理传递文件:

修改后的完整Pipeline代码

pipeline {
    agent none
    stages {
        stage('TestEm') {
            matrix {
                agent any
                axes {
                    axis {
                        name 'i'
                        values '1','2','3','4'
                    }
                }
                stages {
                    stage('Test') {
                        steps {
                            echo "Do Test for $i"
                            sh """
                               sleep 10
                               echo Test for $i > ${i}.txt
                            """
                            // 新增:暂存当前子任务的结果文件,stash名用i区分避免冲突
                            stash name: "test-result-${i}", includes: "${i}.txt"
                        }
                    }
                }
            }
        }
        stage("Aggregate results") {
            agent any
            steps {
                // 循环拉取所有矩阵子任务暂存的结果文件
                script {
                    for (def i = 1; i <= 4; i++) {
                        unstash "test-result-${i}"
                    }
                }
                // 验证结果的示例命令,可自行删除
                sh 'ls *.txt'
            }
        }
    }
}

逻辑说明

  • 每个矩阵子任务执行完测试生成结果文件后,通过stash命令将文件暂存到Jenkins控制器,暂存名称唯一绑定当前子任务的axis变量,不会出现重名冲突
  • 汇总阶段通过循环调用unstash,即可将所有子任务的结果文件全部拉取到当前代理的工作区

方案2:使用归档+Copy Artifact插件(适合需长期留存产物的场景)

如果需要把测试结果长期存档留存,可提前安装「Copy Artifact Plugin」插件,用归档能力实现:

核心修改点

  1. 矩阵Test阶段生成文件后新增归档步骤:
archiveArtifacts artifacts: "${i}.txt", fingerprint: true, allowEmptyArchive: false
  1. 汇总阶段拉取所有归档文件到当前工作区:
script {
    for (def i = 1; i <= 4; i++) {
        copyArtifacts projectName: env.JOB_NAME, buildNumber: env.BUILD_NUMBER, filter: "${i}.txt", target: './'
    }
}

内容的提问来源于stack exchange,提问作者Andrey Regentov

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 19:54:05