我目前正在学习使用 Jenkins 构建管道。我有一个管道,我可以像这样存档构建的工件:
stage("Build") { gitlabCommitStatus(name: "Build") {
/*Build my program and zip it*/
archiveArtifacts artifacts: 'Debug.7z', onlyIfSuccessful: true
}}
现在我想在另一个管道中使用这个工件,但我找不到将存档的工件下载到我的新管道中的命令。请注意,我不想在另一个阶段使用工件,而是在不同构建项目的完全不同的管道中。
最佳答案
你需要有 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);
}
}
}
}
哪里:
selector
:用于选择要从中复制的构建的选择器。如果未指定,则使用最新的稳定版本
可选
:即使没有找到合适的构建也不会让步骤失败
关于jenkins - 在 Jenkins 构建管道中下载工件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58133989/