【问题标题】:Jenkins Artifacts from parallel Jobs来自并行作业的 Jenkins 工件
【发布时间】:2020-03-12 09:58:06
【问题描述】:

如果作业在不同节点上运行并行作业,Jenkins 会使用 archiveArtifacts 归档哪些工件?

matrix {
    axes {
        axis {
            name 'PLATFORM'
            values 'linux', 'mac', 'windows'
        }
    }
    agent {label 'PLATFORM'}
    stages {
        stage('build-and-test') {
            // create artifacts in env.WORKSPACE/delivery/
            archiveArtifacts artifacts: env.WORKSPACE + 'delivery/**'
        }
    }
}

在这种情况下,可能存在具有相同名称的相同或不同工件。 詹金斯会存储所有这些吗?我们将在工作页面上的“最后成功的工件”下看到哪些工件?

【问题讨论】:

    标签: jenkins jenkins-pipeline artifact


    【解决方案1】:

    你不会得到所有东西,据我记得,Jenkins 会覆盖工件,所以阶段请求存档,例如"tests.xml" 将参加比赛,最后一个到达终点线的获胜者。

    我们在归档之前将工件移动到一个唯一的文件夹,例如

    ...
    script {
        sh label: "Moving artifacts to ${testName}",
            script: """rm -rf ${env.WORKSPACE}/${testName} || true
                mkdir ${env.WORKSPACE}/${testName}
                mv ${env.WORKSPACE}/tests.xml ${env.WORKSPACE}/${testName}/"""
    
        archiveArtifacts artifacts: "${testName}/**" 
    }
    

    【讨论】:

      猜你喜欢
      • 2019-09-26
      • 2019-01-18
      • 1970-01-01
      • 1970-01-01
      • 2023-01-13
      • 1970-01-01
      • 2013-02-21
      • 2022-01-24
      • 1970-01-01
      相关资源
      最近更新 更多