设置
我在Jenkins中有两个任务:
build master
- 构建代码并创建一个工件。deploy master
- 部署工件。
目前,deploy master
任务使用“从另一个项目复制工件”构建步骤,使用“最新成功构建”选项。
我的目标
我想将此步骤从“最新成功构建”更改为“由构建参数指定”,以便在部署时选择特定的构建版本,而无需每次修改 deploy master
任务的配置。
我的尝试
首先,我将其更改为“由构建参数指定”。
然后,我勾选了“此项目是参数化的”旁边的框,并添加了一个名为 BUILD_SELECTOR
的字符串参数。
然后,我选择了一个构建版本,并输入 47
这个来自于 build master
任务的构建编号。
此外,我还尝试了API调用。
$.ajax({
type: 'POST',
url: 'https://jenkins/job/deploy%20master/build?token=abc7f5abc0c45abcea0646ed858abcde&BUILD_SELECTOR=47'
});
结果
两次都失败,输出如下:
Started by user styfle
[EnvInject] - Loading node environment variables.
Building in workspace C:\Jenkins\jobs\deploy master\workspace
ERROR: Unable to find a build for artifact copy from: build master
Started calculate disk usage of build
Finished Calculation of disk usage of build in 0 seconds
Started calculate disk usage of workspace
Finished Calculation of disk usage of workspace in 0 seconds
Finished: FAILURE
问题
如何正确配置以便在部署时指定构建编号(或其他标识符)?
解决方案更新
感谢 Gerold 的答案,我的解决方案是添加“复制工件的构建选择器”参数,并使用新的环境变量链接到我已经添加的字符串参数。