html tool

2022年11月3日星期四

jenkins 插件:Environment Injector 插件

 https://www.cnblogs.com/yoyoketang/p/14955965.html

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

问题分析:

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

解决方式:

使用Environment Injector 插件,

在shell中将变量写入环境变量,如下:

Properties Content 自定义环境变量

添加构建步骤 - Inject environment variables

Properties Content 可以写成如下键值对的格式

AUTHOR=yoyo
TEL=132*****123
EMAIL=283340479@qq.com

在邮件报告模板中引用环境变量

于是收到的邮件,就会有相关信息



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

EnvInject Plugin可以支持修改、注入和删除环境变量。

同样添加shell脚本,变量传递

我们在构建中增加步骤"Inject environment variables", 将写在配置文件中的变量${IFUT},注入到环境变量里。

在"Trigger parameterized build on other projects"就可以直接选择"predefined parameters"方式直接传递变量了。

 

同样的在Job『test-job』里就可以直接访问变量${IFUT}了。

       上面两种方法,都是通过profile.txt文件的方式,通过这个配置,可以将自定义的变量值不仅能传递,而且还能自定义修改值。这样的话,当上游需要传递一个自定义变量,这个变量又是通过shell脚本中修改过的,就可以使用profile.txt方式。

没有评论:

发表评论