一尘不染

将变量从shell脚本传递给jenkins

jenkins

我从Jenkins触发了一个shell脚本,该脚本获取日期并将其导出为环境(Linux)变量$ DATE。我需要在同一詹金斯工作中使用此$
DATE。我做了工作作为参数构建。创建一个字符串参数作为DATE值,如DATE = $ DATE。但这是行不通的。

请建议!


阅读 694

收藏
2020-07-25

共1个答案

一尘不染

您提到要DATE在外壳程序脚本中导出环境变量,该脚本可能是通过“执行外壳程序”步骤启动的。

问题是,一旦完成外壳程序步骤,该环境就消失了-变量将不会被带到后续的构建步骤中。
因此,当您以后尝试使用该$DATE值时(无论是在另一个构建步骤中还是作为另一个作业的参数使用),该特定环境变量将不再存在。

您可以做的是在构建过程中使用EnvInject插件导出环境变量。使用此插件设置的变量将可用于所有后续构建步骤。

例如,您可以DATE在一个构建步骤中将写入属性字段:

echo DATE=$(date +%Y-%m-%d) > env.properties

然后,您可以添加“为您的工作注入环境变量”构建步骤,并env.properties在“环境属性文件路径”字段中输入。

这样,DATE变量(以及该属性文件中的其他任何变量)将被导出,并且在其余的构建步骤中可见。

2020-07-25