如何参数化 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>
其中“<ENV>
”可以是多个值之一(dev
、prod
、staging
等)。最好将计划“参数化”,这样有时它会像这样运行:
grails run-app -Dgrails.env=dev
而其他时候,它会这样运行:
grails run-app -Dgrails.env=staging
等等。这可能吗,如果可以,怎么做? REST API 是否允许我指定参数信息,以便我可以使用 cURL
或 wget
启动不同参数化的构建?
【问题讨论】:
您将如何更改该变量? 感谢@tmlai (+1) - 这个想法是自动化过程将通过 Bamboo 的 REST API 启动构建,将<ENV>
参数的值作为 RESTful 的一部分传递打电话。
【参考方案1】:
这似乎是一种解决方法,但我相信它可以帮助解决您的问题。 Atlassian 有一个免费的插件电话Bamboo Inject Variables Plugin。基本上,使用这个插件,您可以创建一个“Inject Bamboo Variables from file”任务来从文件中读取变量。
所以这里的想法是让您的脚本将变量设置为特定文件,然后开始构建;构建本身将从文件中读取该变量并在 grails 任务中使用它。
更新
经过搜索,我发现您可以使用 REST API 来更改计划变量(不是全局的)。这将使您的任务更简单:只需定义一个计划变量(在计划配置 -> 选项卡变量中),然后在每次需要时更改它。有关如何更改的信息,请访问Bamboo Knowledge Base
【讨论】:
以上是关于如何参数化 Bamboo 构建?的主要内容,如果未能解决你的问题,请参考以下文章