Jenkins Git Publisher标记未检测到环境变量

时间:2017-03-28 00:05:26

标签: git bash jenkins

在我的Jenkins bash脚本中,我导出以下环境变量:

export TAG_NAME=v$LIVE_VERSION.$LIVE_BUILD

在Git发布商部分,我正在尝试创建标记名称字段填充$TAG_NAME的标记,但它尝试使用名称$TAG_NAME创建标记,而不是替换为环境变量的值。

注意:这是重复this SO问题,因为答案适用于提问者,但由于某种原因对我不起作用。

1 个答案:

答案 0 :(得分:5)

我假设您通过"执行shell"开始bash。詹金斯一步?

这里的问题是shell环境变量与Jenkins使用的环境变量不同。虽然你可以在bash中使用某些Jenkins变量(转到<your_jenkins_server_address>/env-vars.html/查看哪些变量),但你不能反过来。当bash结束时,你在bash中设置的任何变量都会消失。

解决方法是将标记写入文件并使用Jenkins读取它们 EnvInject plugin。该插件可以读取属性文件并将所有属性添加为Jenkins环境变量。

例如,bash写入文件:

echo TAG_NAME=v$LIVE_VERSION.$LIVE_BUILD > tags.txt

EnvInject插件读取文件并注入其属性,以便Jenkins可以使用它:

Inject environment variable