防止构建中断 - 使用预提交构建

时间:2010-10-07 17:15:40

标签: build build-process

有哪些方法可以防止草率的开发人员破坏构建 是否有任何版本控制系统都有一个防止代码签入系统打破构建的系统 感谢

2 个答案:

答案 0 :(得分:3)

Microsoft TFS Build有一个名为“gated check-ins”的东西,通过执行私人登记(称为Shelving)来提供此功能,如果构建成功,则会将其提升为正常签入。

http://blogs.msdn.com/b/patcarna/archive/2009/06/29/an-introduction-to-gated-check-in.aspx

TeamCity具有“延迟提交”的概念

http://www.jetbrains.com/teamcity/features/delayed_commit.html

我可以全心全意地推荐TeamCity!

答案 1 :(得分:0)

  1. 获取LART并击败破坏构建的开发人员。
  2. 在一个大屏幕上拥有构建状态,每个人都可以通过红色/绿色背景和最后一个提交者的名字来查看它。
  3. 让构建服务器向整个开发团队发送电子邮件,指示破坏构建的开发人员。
  4. 老实说......为什么人们如此依赖“让开发人员做X”。告诉他们这是过程,如果他们不遵守它就解雇他们。


    编辑:因为以下内容太长而无法发表评论。

    我在一个拥有12个左右开发人员的团队中工作。有些人认为很大,有些人认为很小

    我们有一个大屏幕(6英尺长的32英寸平板电视),每个人都可以看到告诉我们各种信息 - 包括(在屏幕上最大的框中)“提交构建”的状态。

    我们的流程是从SVN更新并在提交之前在本地运行提交构建(大约2-3分钟)。如果它通过,运送它。如果没有,请在本地修复并重复。因为我们做TDD,所以通常只有当你从SVN中取出的东西破坏了你正在处理的东西时才会发生这种情况。

    如果它在CI中失败,你要么忽略了这个过程,要么你的提交与其他人发生了冲突。屏幕变红,有人对你大喊大叫,你修好它并继续前进。这通常只发生在我们大约每周一次;大多数情况下它会变红,因为人们试图偷工减料; - )

    没有人需要“强迫开发者”做任何事情。我们是富有创造力的艺术个体,如果这个过程有意义,他们通常都是成人和专业人士,可以遵循流程。在这种情况下,在本地构建,只有在传递时才提交。

    谁会关心CI中的构建是否中断,只要它能够快速修复,这样就不会阻止团队工作?