我有很多Bamboo变量定义,因为我有一个系统,有很多遗产和配置在不属于的地方。摆脱所有这些将在路线图上花费更长的时间,所以我需要找到一种方法来自动替换所有这些值。
我正在谈论的数字是有8个客户配置文件,每个约有100个变量。事实上,有一个疯子在Bamboo中添加了所有这些,因为您可能认为它们中的大多数对于每种环境都是可变的。
此时我想自动化部署过程,一切都很顺利,我需要替换100个变量,而且我不想一直在我的脚本中维护它。
我正在寻找一种方法来检索数组中的所有变量,这样我就可以遍历所有的键并尝试在配置文件中替换它们。
echo "${bamboo.application.myvalue}"
将按预期替换值。唯一的问题是,我怎样才能得到竹子下的所有钥匙。*
我尝试使用以下功能,但都没有成功:
以上都没有成功。如何在Bamboo中检索所有这些变量的列表作为内联脚本。
非常感谢
答案 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
使用它(在后续脚本任务中):
echo ${bamboo.inject.connectionstring}