【发布时间】:2016-05-27 14:38:19
【问题描述】:
设置
我在 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 的回答,我的解决方案是添加“为复制工件构建选择器”参数并使用新的环境变量链接到我已经添加的字符串参数。
【问题讨论】:
标签: jenkins deployment parameterized