use*_*823 33 jenkins jenkins-plugins
我从Jenkins触发一个shell脚本,这个脚本获取日期并将其导出为环境(Linux)变量$ DATE.我需要在同一个Jenkins工作中使用这个$ DATE.我做了参数构建工作.创建一个字符串参数作为DATE值DATE = $ DATE.但它没有用.
请建议!!
Chr*_*Orr 77
您提到您正在DATEshell脚本中导出环境变量,这可能是通过"执行shell"步骤启动的.
问题是,一旦shell步骤完成,该环境就消失了 - 变量将不会转移到后续的构建步骤.
因此,当您稍后尝试使用该$DATE值时 - 无论是在另一个构建步骤中,还是作为另一个作业的参数 - 该特定环境变量将不再存在.
您可以做的是使用EnvInject插件在构建期间导出环境变量.使用此插件设置的变量将可用于所有后续构建步骤.
例如,您可以DATE在一个构建步骤中将属性字段写入:
echo DATE=$(date +%Y-%m-%d) > env.properties
Run Code Online (Sandbox Code Playgroud)
然后,您可以添加"为作业注入环境变量"构建步骤,并env.properties在"环境属性文件路径"字段中输入.
这样,DATE变量(以及该属性文件中的任何其他内容)将被导出,并且对其余构建步骤可见.
Dam*_*per 11
您可以使用赋值语句和 sh 的 returnStdout 来获取 Jenkins 中的值,而无需写入属性文件。
foo = sh(
returnStdout: true,
script: 'date'
)
Run Code Online (Sandbox Code Playgroud)
然后在 Jenkinsfile 中,您可以像使用任何其他变量一样使用 $foo。
编辑:这是一个管道工作,而不是一个自由式工作。
| 归档时间: |
|
| 查看次数: |
56606 次 |
| 最近记录: |