TeamCity防止同时进行分支构建

Mat*_*att 15 git teamcity

我有一个典型的主 - >开发 - >功能结构的Git设置.我有5个TeamCity(v8.1)构建代理.是否可以配置TeamCity,以便如果多人同时承诺开发,开发分支将不会运行并发构建?我们的CI流程的一部分是部署成功,因此我不希望两个构建同时部署到同一个端点.

(我想要所有分支机构的这种设置,而不仅仅是开发)

Wel*_*lsh 14

在"常规设置"配置页面上,您可以将同时生成的数量设置为1而不是0表示无限制.这意味着它排队说5个版本,但一次只运行1个.

  • 每个配置1个构建.我没有办法将其限制为每个分支一个构建.如果你想要你的CI构建只是发布工件与部署,可以将其同步构建为0(无限制).然后创建一个使用这些工件的部署构建(设置为来自我相信的相同链),一次限制为1个构建.它会给你一个中间立场. (2认同)

jms*_*msb 7

您是否试图阻止同一分支的多次签入为该分支生成多个构建?您可以通过设置构建配置的VCS触发器部分上的某些选项来更改并发设置,从而实现此目的.有一个'Quiet Period'设置在进行构建之前等待X秒,以防万一同时进入多个提交.

这是TeamCity 8.x中相关菜单的屏幕截图:

TeamCity菜单的屏幕截图,用于配置构建配置的静默期.

编辑:另一个选项是构建功能 - > 共享资源功能.这允许您创建锁,将其与一个或多个项目相关联,并让它们使用它.这对于防止1+项目同时构建非常有用.这比安静的时间功能更可靠,因为有一个实际的锁定而不仅仅是一个延迟,虽然安静的时间确实有助于收集多个近同时检查,因此是独立有用的.

  • 使用共享资源功能获胜. (2认同)