列出内联脚本中的所有竹子变量

时间:2016-06-07 13:31:28

标签: bamboo

我有很多Bamboo变量定义,因为我有一个系统,有很多遗产和配置在不属于的地方。摆脱所有这些将在路线图上花费更长的时间,所以我需要找到一种方法来自动替换所有这些值。

我正在谈论的数字是有8个客户配置文件,每个约有100个变量。事实上,有一个疯子在Bamboo中添加了所有这些,因为您可能认为它们中的大多数对于每种环境都是可变的。

此时我想自动化部署过程,一切都很顺利,我需要替换100个变量,而且我不想一直在我的脚本中维护它。

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

我尝试使用以下功能,但都没有成功:

  • printenv
  • 的env
  • 声明

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

非常感谢

1 个答案:

答案 0 :(得分:1)

我认为无法动态更改变量的值。相反,您可以使用" Inject 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

Inject Bamboo Variables config

使用它(在后续脚本任务中):

echo ${bamboo.inject.connectionstring}