我有一个典型的主-->开发-->特性结构的Git设置。 我有5个TeamCity(v8.1)构建代理。 是否可以配置TeamCity,以便如果多个人同时提交到开发分支,则开发分支不会运行并发构建? 我们CI流程的一部分是成功部署,因此我不希望两个构建同时部署到同一端点。
(我想要这样的设置适用于所有分支,而不仅仅是开发分支)
在“常规设置”配置页面中,您可以将同时构建的数量从无限制更改为1。这意味着它可以排队等待5个构建,但只有一个会同时运行。
以下是TeamCity 8.x中相关菜单的屏幕截图:
编辑:另一个选择是构建功能->共享资源功能。这允许您创建锁定,将其与一个或多个项目关联,并使它们使用它。这对于防止1个或多个项目同时构建很有用。这比安静时间特性更可靠,因为有一个实际的锁定而不仅仅是延迟,尽管安静时间确实有助于收集多个几乎同时的检入,因此独立有用。
结合足够长但不过长的静默期和同时最多构建1个版本,您应该能够获得所需的结果。这是我们这里使用的方法,静默期为120至180秒,效果很好。