Jen*_*cke 4 jenkins jenkins-pipeline
我想使用 CopyArtifact 插件从另一个 Jenkins 作业复制构建工件。
该工件是使用以下命令创建的:
archiveArtifacts artifacts: '_Builds/BuildRelease/**', fingerprint: true
build 'Release Installer'
Run Code Online (Sandbox Code Playgroud)
在“发布安装程序”作业中,我尝试在管道中使用以下命令获取存档的工件:
stages {
stage('Get Artifacts') {
steps {
step([ $class: 'CopyArtifact',
projectName: "MyBuildJob",
filter: "_Builds/BuildRelease/archive.zip"
])
}
}
Run Code Online (Sandbox Code Playgroud)
执行“发布安装程序”作业时,未找到工件。两个作业都在同一构建节点上执行。
我认为我的过滤规则缺少一些东西。不幸的是,可用的 Jenkins 文档在细节和示例方面有点薄弱。
我相信默认是从上次成功的作业中复制。但是,您目前似乎想要上游工作。这是一个片段:
copyArtifacts fingerprintArtifacts: true, projectName: 'MyBuildJob', selector: upstream()
Run Code Online (Sandbox Code Playgroud)
我使用代码片段生成器生成了此代码。它应该存在于作业的经典视图的左侧面板上。按钮文本为“Pipeline Syntax”,URL 为“my.jenkins.instance.com/pipeline-syntax/”
不需要指定工件过滤器,它会复制所有这些过滤器。但是,如果您想保留过滤器:
copyArtifacts filter: '_Builds/BuildRelease/archive.zip', fingerprintArtifacts: true, projectName: 'MyBuildJob', selector: upstream()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12183 次 |
| 最近记录: |