sty*_*fle 21 deployment parameterized 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'
});
Run Code Online (Sandbox Code Playgroud)
两次失败并输出以下内容:
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
Run Code Online (Sandbox Code Playgroud)
如何正确配置,以便在部署时指定内部版本号(或其他标识符)?
我的解决方案归功于Gerold的答案是添加"构建选择器以复制工件"参数并使用新的环境变量链接到我已经添加的字符串参数.
Jenkins每个项目/工作只有一个工作区.构建目录仅包含有关构建及其结果的信息.
两者的根目录在Manage Jenkins → Configure System → 中指定Advanced....
要部署先前构建的工件,您必须将其复制到其他位置build master并在deploy master以后访问它.
更新:
请参阅哪个构建 → 参数名称的内联帮助:
应在上面的构建参数部分添加具有此名称的参数.有一个特殊的参数类型用于选择构建选择器.
将此构建选择器用于复制工件而不是字符串参数.