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

Posted

技术标签:

【中文标题】列出内联脚本中的所有竹变量【英文标题】:List all bamboo variables in inline script 【发布时间】:2016-06-07 13:31:27 【问题描述】:

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

我所说的数字是有 8 个客户配置文件,每个文件大约有 100 个变量。确实,有一个疯子将所有这些都添加到 Bamboo 中,因为您可能认为它们中的大多数对于每个环境都是可变的。

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

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

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

打印环境 环境 声明

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

非常感谢

【问题讨论】:

【参考方案1】:

我认为不可能即时更改变量的值。相反,您可以使用“Inject Bamboo variables”任务来更改变量值。 此任务读取文件以创建变量。所以,你所要做的就是用你需要的值创建这个文件,然后使用这个变量。

例如:从 powershell 脚本创建文件:

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

例如:注入 Bamboo 变量配置

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

echo $bamboo.inject.connectionstring

【讨论】:

以上是关于列出内联脚本中的所有竹变量的主要内容,如果未能解决你的问题,请参考以下文章

访问 Bamboo 密码/密码变量?

将AngularJS变量绑定到内联脚本标记中

竹变量是不是自动用作环境变量?

不能失败的竹建筑

列出 'require' 函数加载的所有变量

我可以在部署项目中使用竹计划变量吗?