2016-06-07 14 views
0

我有很多竹变量定义,因为我有一个系统,在它不属于的地方有很多遗留和配置。摆脱所有这些将需要更长的路线图,所以我需要找到一种方法来自动替换所有这些值。列出内联脚本中的所有竹变量

我谈论的数字是有8个客户配置文件,每个约100个变量。确实,有一个疯子把所有竹子都加进去了,因为你可能认为它们中的大多数对于每种环境都是可变的。

此时我想自动执行部署过程,并且所有事情都很好,事实上我需要替换100个变量,而且我不希望始终将其保留在脚本本身中。

我正在寻找一种方法来检索数组中的所有变量,所以我可以遍历所有的键并尝试在配置文件中替换它们。 echo "${bamboo.application.myvalue}"将按预期取代该值。唯一的问题是,我怎么能得到所有竹下键*

我具有以下功能尝试过,但都没有成功。

  • printenv
  • ENV
  • 声明

以上皆无成功。我如何检索所有这些变量的列表作为Bamboo中的内联脚本。

非常感谢

回答

1

我认为这是不可能改变的飞行变量的值。相反,您可以使用“注入Bamboo变量”任务以便能够更改变量值。 此任务读取一个文件以创建变量。所以,你所要做的就是用你需要的值创建这个文件,然后使用这个变量。

例如:从PowerShell脚本创建一个文件:

$path = 'bambooVariaveis.properties' 
$connectionstringX = 'connectionstring="Data Source=XXXX;"' 
$Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding($False) 
[System.IO.File]::WriteAllLines($path, $connectionstringX, $Utf8NoBomEncoding) 

如:注射竹变量配置

Inject Bamboo Variables config

使用它(在随后的脚本任务):

echo ${bamboo.inject.connectionstring} 
相关问题