下载 Jenkins 构建管道中的工件

Tig*_*120 2 jenkins

我目前正在学习使用 Jenkins 构建管道。我有一个管道,用于归档构建的工件,如下所示:

stage("Build") { gitlabCommitStatus(name: "Build") {
    /*Build my program and zip it*/
    archiveArtifacts artifacts: 'Debug.7z', onlyIfSuccessful: true
}}
Run Code Online (Sandbox Code Playgroud)

现在我想在另一个管道中使用这个工件,但我找不到将存档工件下载到我的新管道中的命令。请注意,我不想在另一个阶段使用该工件,而是在不同构建项目的完全不同的管道中使用该工件。

Tec*_*ext 7

您需要安装Copy Artifact插件才能正常工作。在要复制工件的作业中,使用以下代码:

pipeline {
    stages {
        stage ('Copy Build Artifact') {
            steps {
                echo 'Copying artifact from projectA'
                copyArtifacts(projectName: 'projectA', filter:'Debug.7z', optional: true);
                // OR
                // copyArtifacts(projectName: 'projectA', filter:'Debug.7z', selector: specific('5'), optional: true);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在哪里:

selector:选择要从中复制的版本的选择器。如果未指定,则使用最新的稳定版本

optional:即使没有找到合适的构建,该步骤也不会失败