Bamboo 自定义部署-项目变量

Posted

技术标签:

【中文标题】Bamboo 自定义部署-项目变量【英文标题】:Bamboo custom deployment-project variables 【发布时间】:2016-01-11 11:46:26 【问题描述】:

在 Bamboo 中,我想进行构建发布并将其部署在目标主机上。目标主机应该是可变的。

据我所知,无法使用自定义部署变量运行部署项目(因为可以覆盖自定义构建上的计划变量)。我的问题是:这是真的吗?如果是的话,实现我想要的最佳方式是什么?

以下是我在研究这个问题时的一些想法:

我可以在构建作业中使用计划变量“主机”,并始终根据需要对其进行自定义。然后我将此变量写入将被声明为构建工件的文件中。在我的部署任务中,我使用“注入 Bamboo 变量配置”任务来获取变量。这个解决方案的缺点是我总是必须运行构建,即使工件没有改变。 全局变量不可行,因为它们不依赖于构建。因此我不能将它们用于我的任务。原因是它们可能会被另一个构建覆盖。

关于这个任务有没有更好的解决方案/想法?

【问题讨论】:

我也在 atlassian-questioning-system 上问过这个问题,但那里也没有答案。对我来说,最好的折衷办法是通过我的构建将所需的变量写入一个工件,然后通过“注入 Bamboo 变量配置”读取这个工件。 【参考方案1】:

您可以在配置环境时在部署项目的“其他环境设置”中设置变量。这样,当工件没有更改时,您就不必运行构建。只需在部署工件之前更改变量值。

【讨论】:

【参考方案2】:

目标主机应该是可变的

不,每个主机都是一个单独的环境。否则,“促进环境”的概念就会破裂。这可能需要大量的工作来实现,因此我强烈建议使用竹规范(在 Java 中)。

无法使用自定义部署变量运行部署项目

我确认:这是不可能的。再一次,它会打破环境促进的概念。经验法则:您的环境设置应该是不可变的:没有变量差异。 b/n 运行的唯一区别是要部署的工件。

【讨论】:

以上是关于Bamboo 自定义部署-项目变量的主要内容,如果未能解决你的问题,请参考以下文章

如何在Bamboo任务中启用自定义bitbucket jspm注册表项?

部署项目 - 自定义操作更新

使用 QtCreator 部署自定义构建项目

.NET 部署项目:取消卸载程序的自定义操作

将 Jar Artifact 从 Bamboo 部署到 Artifactory

从 CodeStar 项目自定义 Prod 部署