Bamboo 在安排新构建时停止正在进行的构建

Posted

技术标签:

【中文标题】Bamboo 在安排新构建时停止正在进行的构建【英文标题】:Bamboo stop ongoing build when a new one is scheduled 【发布时间】:2020-01-07 11:41:52 【问题描述】:

如果有多个推送到分支,Bamboo 会为每个推送安排单独的构建,这会在队列上创建冗余。我们只关心我们拉取请求的最新更改的最后一个构建。因此,如果安排了新的构建,是否有任何方法/配置可以取消正在进行的/计划的构建?

我想出了Enable quiet period 选项(静默期允许您在检测到单个提交后延迟构建,每次构建聚合多个提交)。但是,安静期并不是处理队列冗余的最佳方式。

有人知道吗?

【问题讨论】:

恕我直言,这不是冗余,devops.stackexchange.com/a/10322/47。 【参考方案1】:

一些事情:

    在每次提交代码时避免构建在某种程度上是一种反模式。如果您取消正在进行的构建,理论上您可以整天不知道如果传入的提交继续取消构建,那么一天开始时的提交是否会破坏构建。采用这种方法,您将失去拥有持续集成系统的好处。 如果您只关心进入主线分支的构建,那么您可以通过转到Plan Configuration -> Branches 来编辑分支的构建方式。您可以选择手动或“创建拉取请求时”。后者只会在 PR 创建和更新时触发分支构建。 您可以通过使用Conditional tasks for Bamboo plugin. 进一步限制正在运行的内容虽然不如不开始构建那么干净,但您可以选择仅在构建主分支时执行耗时的任务,这样可以更快地在分支上执行.

最后,理论上您可以使用REST API 创建您自己的自定义插件/应用程序来停止构建。

【讨论】:

以上是关于Bamboo 在安排新构建时停止正在进行的构建的主要内容,如果未能解决你的问题,请参考以下文章

从 Bamboo 构建开始 Bamboo 部署

在 Bamboo 中构建 repo 时动态选择分支

Bamboo 构建计划和部署

如何在 Jenkins 中触发构建在其他构建成功但在 Bamboo 中运行之后

Bamboo - 创建新分支时自动创建部署触发器

在 JIRA Studio 中为 Bamboo 创建 Windows AMI 以进行构建