我想使用CopyArtifact插件从另一个Jenkins Job复制构建工件。
使用以下命令创建工件:
archiveArtifacts artifacts: '_Builds/BuildRelease/**', fingerprint: true
build 'Release Installer'
在“发布安装程序”作业中,我尝试使用管道中的以下命令来获取已归档的工件:
stages {
stage('Get Artifacts') {
steps {
step([ $class: 'CopyArtifact',
projectName: "MyBuildJob",
filter: "_Builds/BuildRelease/archive.zip"
])
}
}
执行“发布安装程序”作业时,找不到工件。这两个作业都在同一Build节点上执行。
我认为我的过滤器规则缺少某些内容。不幸的是,可用的Jenkins文档在细节和示例上有些薄。
我相信默认值是从上一次成功的工作中复制。但是,您当前似乎需要上游作业。这是一个片段:
copyArtifacts fingerprintArtifacts: true, projectName: 'MyBuildJob', selector: upstream()
我使用代码片段生成器生成了此代码。它应该存在于作业经典视图的左侧面板上。按钮文字显示为“管道语法”,网址为“ my.jenkins.instance.com/pipeline-syntax/”
不需要指定工件过滤器,它将复制所有过滤器。但是,如果要保留过滤器:
copyArtifacts filter: '_Builds/BuildRelease/archive.zip', fingerprintArtifacts: true, projectName: 'MyBuildJob', selector: upstream()
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句