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 在安排新构建时停止正在进行的构建的主要内容,如果未能解决你的问题,请参考以下文章