如何参数化 Bamboo 构建?

Posted

技术标签:

【中文标题】如何参数化 Bamboo 构建?【英文标题】:How to parameterize Bamboo builds? 【发布时间】:2014-05-07 01:21:36 【问题描述】:

请注意,虽然我这里的具体示例涉及 Java/Grails,但它确实适用于 Bamboo 中可用的任何类型的任务。

我有一个任务是 Bamboo 构建的一部分,我在其中运行 Java/Grails 应用程序,如下所示:

grails run-app -Dgrails.env=<ENV>

其中“&lt;ENV&gt;”可以是多个值之一(devprodstaging 等)。最好将计划“参数化”,这样有时它会像这样运行:

grails run-app -Dgrails.env=dev

而其他时候,它会这样运行:

grails run-app -Dgrails.env=staging

等等。这可能吗,如果可以,怎么做? REST API 是否允许我指定参数信息,以便我可以使用 cURLwget 启动不同参数化的构建?

【问题讨论】:

您将如何更改该变量? 感谢@tmlai (+1) - 这个想法是自动化过程将通过 Bamboo 的 REST API 启动构建,将 &lt;ENV&gt; 参数的值作为 RESTful 的一部分传递打电话。 【参考方案1】:

这似乎是一种解决方法,但我相信它可以帮助解决您的问题。 Atlassian 有一个免费的插件电话Bamboo Inject Variables Plugin。基本上,使用这个插件,您可以创建一个“Inject Bamboo Variables from file”任务来从文件中读取变量。

所以这里的想法是让您的脚本将变量设置为特定文件,然后开始构建;构建本身将从文件中读取该变量并在 grails 任务中使用它。

更新

经过搜索,我发现您可以使用 REST API 来更改计划变量(不是全局的)。这将使您的任务更简单:只需定义一个计划变量(在计划配置 -> 选项卡变量中),然后在每次需要时更改它。有关如何更改的信息,请访问Bamboo Knowledge Base

【讨论】:

以上是关于如何参数化 Bamboo 构建?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Jenkins 参数化构建?

云计算docker build如何支持参数化构建?

jenkins构建:参数化构建

如何在 PHP 中为动态查询构建参数化 PDO 语句?

jenkins之参数化构建

如何避免从 C# 构建的 Sql Server 2005 参数化查询变慢