摆脱多个竹子建造计划

Posted

技术标签:

【中文标题】摆脱多个竹子建造计划【英文标题】:Get rid of multiple bamboo build plans 【发布时间】:2015-07-17 19:24:44 【问题描述】:

我有 Atlassian Bamboo 和多个(大约 50 个)git 存储库。所有存储库都有相同的计划。我应该有 50 个计划来构建 50 个回购吗?当然,每个计划都是克隆。

我必须想出一个构建和部署的计划。有什么方法可以减少计划并处理多个 repo?

注意:单独的 repo 将单独构建。

【问题讨论】:

【参考方案1】:

如果您想使用单个计划,那么您必须通过每个存储库中的 web 挂钩/git 挂钩来触发该计划,以便为他们收到的每个提交。这意味着每当任何存储库注意到一个更改被推送时,它们都会通知竹子运行构建计划,并在竹子中设置一个变量来存储哪个 git 存储库被更改

这里是其余文档,您可以在其中找到如何远程触发竹计划。 https://docs.atlassian.com/bamboo/REST/4.0/#idp263696

您必须定义计划变量来存储存储库名称/URL 和其他特定于存储库的信息,例如远程触发竹子构建的 git 存储库中的分支名称。使用竹休息 API 设置此变量。设置后,您可以在 Bamboo 中有一个 shell 脚本任务来运行 git clone <$bamboo.git_url_variable>,这将克隆存储库。在此步骤之后,您可以让其余的竹子构建任务在此存储库上工作。

不要使用竹链接存储库并禁用任何竹默认触发器来实现上述。

我会建议,如果所有存储库都产生不同的人工制品,那么对它们使用单​​独的计划是没有害处的,事实上,您应该为不同的源代码使用单独的计划。如果您使用计划模板来管理多个计划,这意味着将它们转换为源代码,那么管理多个计划非常简单。在此处查看更多信息https://jira.atlassian.com/browse/BAM-907

计划模板可帮助您一次性管理对所有计划的更改

【讨论】:

如何远程触发竹子构建?使用远程触发? 您可以使用竹休息API。用 shell 卷曲,或者如果你有 python 或任何其他语言,那就更好了。 docs.atlassian.com/bamboo/REST/5.8.0/#d2e653 是确切的休息电话 想知道如何创建计划模板?它需要任何插件吗?或者它是一个内置功能。目标是为所有 50 个存储库的构建、...等维护一个中心计划。我从一个计划克隆了 50 个单独的计划。但是当我想改变时问题就出现了。如果一个计划改变了,一切都必须改变。请帮助我实现这一目标。 您的答案更准确。无法从谷歌获得更多信息。请给我发邮件-sandeeplinux.deb@gmail.com。需要帮助谢谢。 marketplace.atlassian.com/plugins/… 看看这个。

以上是关于摆脱多个竹子建造计划的主要内容,如果未能解决你的问题,请参考以下文章

竹子构建错误:如何正确清洁竹子缓存?

类似于 Jenkins Groovy 文件。有没有竹子的文件?

摆脱不了Split包,多个jar提供同一个包

在构建脚本中获取触发原因

构建自动化过程

解决方法/摆脱 OneToMany 和 ManyToOne 关系中的多个可写映射?