html tool

2022年11月3日星期四

jenkins插件:rigger parameterized build on other projects 子job参数通过文件传递

 https://www.cxyzjd.com/article/u013168025/102972693

问题:

jenkins 子job 调用时,无法传递shell中定义或修改的变量,只能使用job的入参或者环境变量(Parameterized Trigger Plugin插件问题

问题分析:

插件可以实现Job间参数传递但是有局限性,我们只能选择传递当前build的参数或者环境变量。而且这个变量只能是上级job中参数化时传入的,shell中进行了修改也不会改变。如果要传递一个自定义的变量怎么办呢? 构建步骤中的自定义变量在执行结束后都会被回收,我们不可能在"predefined parameters"中取到

解决:

通过properties file的方式传递参数(仍然需要插件:Parameterized Trigger Plugin)

现有上游job:[test-file-parameters] 和下游job:[test-job] 

在[test-file-parameters]中有参数:compiled 默认值:123456

删除原来老的数据 然后可以对变量进行一些操作之后,然后以"xx=xx"的样式写入到配置文件『propfile.txt』中。

IFUT=$compiled  IFUT是下游job test-job里的变量  compiled是上游job test-file-parameter里的变量

然后在"Trigger parameterized build on other projects"中选择"Parameters from preperties file",在propfile里写入多个变量就可以传递多个值。

在[test-job]中有参数 IFUT  这个值要和profile.txt里的key值一样 否则无法传递

查看一下IFUT最终的值 是不是上游job中shell里修改成的3333333

构建上游job:[test-file-parameter] 构建成功之后会触发test-job 传递自定义变量成功!



没有评论:

发表评论