安装?Parameterized Trigger 插件,传递管道中初始?BUILD_NUMBER 为例。
在初始 job 配置中,点击 “增加构建后操作步骤” --> Trigger parameterized build on other projects,然后点击 Add Parameters,选择 Predefinded parameters,在出现的文本框中填写要传递的参数,格式为 Key=value,一行一对。
例:
????????SOURCE_BUILD_NUMBER=${BUILD_NUMBER}
其中?${BUILD_NUMBER} 是当前构建的构建号码,每次递增。
为了向下级 job 传递这个变量,单纯地在初始 job 中传递是不起作用的,下级 job 简单的使用
{ENV, var="SOURCE_BUILD_NUMBER"} 拿不到这参数值,得到结果为空。
Parameterized Trigger 插件文档中有这样的一段特殊警示(比提示级别高):
WARNING: You must define the parameter in downstream jobs via the?This project is parameterized?property. For example, if?job1?passes?ABC=123 ?to?job2?then in?job2?mark the job as?This project is parameterized?and add a parameter named?ABC . See?this advisory?for more information
就是说,需要在下游 job 中,声明这是个参数化 job,并且声明这个变量,之后才能得到正确的结果。
执行需要 2 步:
1. 勾选?This project is parameterized 复选框
2. 在这个区域内出现 "添加参数"按钮,点击按钮,选择一个参数类型,这里选择字符串参数,即 String Parameter,出现3个文本框,名称里添加参数名,即?SOURCE_BUILD_NUMBER,这个很重要,一定和上游 job 中传递出来的参数名一致。默认值,随便写个就行,这里写的是?${BUILD_NUMBER},即本 job 的构建号码。描述就更随便了,放空。
这个时候再使用?SOURCE_BUILD_NUMBER 参数就得到合理值了。例如用它作为构建命名中的一部分:
? ? ? ? job-name#${ENV, var="SOURCE_BUILD_NUMBER"}
|