Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将变量从shell脚本传递给jenkins_Jenkins_Jenkins Plugins - Fatal编程技术网

将变量从shell脚本传递给jenkins

将变量从shell脚本传递给jenkins,jenkins,jenkins-plugins,Jenkins,Jenkins Plugins,我从Jenkins触发一个shell脚本,该脚本获取日期并将其导出为环境(Linux)变量$date。我需要在Jenkins的工作中使用这个$DATE。我做了一个参数构建的工作。创建了一个字符串参数作为日期值作为日期=$DATE。但它不起作用 请建议 您提到您正在导出shell脚本中的DATE环境变量,该脚本可能是通过“执行shell”步骤启动的 问题是,一旦shell步骤完成,环境就消失了——变量将不会被带入后续的构建步骤。 因此,当您稍后尝试使用$DATE值时(无论是在另一个构建步骤中,还是

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


请建议

您提到您正在导出shell脚本中的
DATE
环境变量,该脚本可能是通过“执行shell”步骤启动的

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

您可以改为在生成期间使用导出环境变量。使用此插件设置的变量将可用于所有后续构建步骤

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

echo DATE=$(date +%Y-%m-%d) > env.properties
然后,您可以添加“为作业注入环境变量”构建步骤,并在“环境属性文件路径”字段中输入
env.properties


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

您可以使用赋值语句和sh的returnStdout来获取Jenkins中的值,而无需写入属性文件

foo = sh(
  returnStdout: true, 
  script: 'date'
)
随后在Jenkins文件中,您可以像使用任何其他变量一样使用$foo


编辑:这是用于管道作业,而不是自由式作业。

不清楚您在说什么-您是将
DATE
设置为参数,还是从“Execute shell”构建步骤导出
DATE
?您好,我正在尝试将它从Jenkins作业中运行的脚本导出到同一Jenkins作业。EnvInject插件存在一些严重的安全漏洞。现在詹金斯对这一感谢有着内在的支持。不幸的是,Jenkins默认情况下不支持此功能。我试图找到一种更好的方法,用一个命令将shell脚本中设置的所有变量自动输出到属性文件。我的一项工作需要根据目录、文件名、时间戳等创建大约15个变量。然后我需要15个echo命令来输出到属性文件。如果我要添加额外的变量,我还需要确保它们被输出。如果能够运行一个类似于“env”的命令,输出所有定义的变量,那就太好了。真不幸,Jenkins不支持它。感谢您的回答。在注入变量时,最好将
env.properties
写入
$WORKSPACE/env.properties
并访问
$WORKSPACE/env.properties
。谢谢,今天已经测试过,在当前版本中也可以使用!一件相关的事情是,需要调用脚本中带有'env.foo':D的变量
foo