当前位置: 首页 > 面试题库 >

将变量从shell脚本传递给jenkins

欧阳博文
2023-03-14
问题内容

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

请建议!


问题答案:

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

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

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

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

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

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

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



 类似资料:
  • 问题内容: 我刚开始学习groovy,我想将svnSourcePath和svnDestPath传递给svn copy命令中的shell脚本。但是网址未呈现。 输出量 问题答案: 在变量周围添加了单引号和加operator(’+ variable +’)。现在正在工作

  • 问题内容: 我有一个bash脚本a.sh,其中有一个python脚本b.py。python脚本计算某些内容,我希望它返回一个值,该值稍后将在a.sh中使用。我知道我能做 在a.sh中: 在b.py中: 但这不是那么方便,因为我还在b.py中打印了其他消息 有什么更好的方法吗? 编辑: 我现在正在做的只是 这意味着我可以在b.py中打印很多东西,但是只有最后一行(假设它不包含“ \ n”,这是最后一

  • 问题内容: 我有一个PHP文件,需要从命令行运行(通过crontab)。我需要传递给文件,但我不知道如何。我试过了: 但是返回了此错误: 无法打开输入文件:myfile.php?type = daily 我能做什么? 问题答案: 该参数(在结束了阵列)仅适用于网络访问的页面。 您需要像调用它一样,并从数组中检索该参数(为,因为为)。 如果该页面也用作网页,则可以考虑两个选项。使用shell脚本和w

  • 问题内容: 当我偶然发现一个我想阻止公司访问的邪恶网站时,我在绑定服务器上编辑了named.conf文件,然后更新了代理服务器黑名单文件。我想用一个bash脚本来自动化它。假设我的脚本称为“ evil-site-block.sh”,其中包含以下内容: 然后以 当我在远程计算机上查看named.conf的内容时,我看到: 我不知道如何将“ google.com”作为$ 1传递。 问题答案: 您的问题

  • 问题内容: 有没有办法在Powershell脚本中使用Groovy变量?我的示例脚本如下。 问题答案: 您不能在单引号或三单引号中插入变量。使用三重双引号:

  • 好吧,所以这是已经问过的问题,但答案似乎没有多大帮助。我能够使用jython和该问题中发布的答案运行python脚本,但我无法传递变量...当我运行程序时,错误说没有像arg1 arg2和arg3这样的变量...我做错了什么? 这是python脚本 现在错误说arg1 arg2和arg3未声明