我尝试了很多方法来在詹金斯中存储值。但是我无法在Jenkins的Shell脚本中为变量分配值。
首先,我设置了一个名为 branch 的ENV变量,其值为 * / release / hotfix
因此,我尝试分割单词并保存为这样的新变量。
VALUE=$($branch | sed -e 's/\*\/.*\///g')
我尝试了许多实验来保存该值。它不会工作。
在我的研究中,我找到了一种为变量分配值的方法,但是插件(How to set environment variables in Jenkins?)可能并不安全。
为什么我不能在Jenkins Shell中将值保存到变量?我该怎么办?
答案 0 :(得分:2)
我找到了解决此问题的方法。
首先,我使用触摸命令创建文件
touch enviroments.cfg
然后将值保存到变量中,同时保存到该文件中
echo "export VALUE=$(echo $branch | sed -e 's/\*\/.*\///g')" >> enviroments.cfg
再次访问该保存的变量,我重新打开该文件并获得该值
. './enviroments.cfg' (you can not use **source** command to read, use **dot**(.) instead of **source** command)
echo $VALUE
您可以在任何地方读取值。