首页 > 解决方案 > Bamboo 在安排新构建时停止正在进行的构建

问题描述

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

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

有人知道吗?

标签: continuous-integrationbitbucketbamboo

解决方案


一些东西:

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

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


推荐阅读