Build 防止生成中断-使用预提交生成

Build 防止生成中断-使用预提交生成,build,build-process,Build,Build Process,有哪些方法可以防止草率的开发人员破坏构建。 是否有版本控制系统具有防止代码签入破坏构建的系统。 谢谢Microsoft TFS Build有一个名为“门控签入”的功能,它通过执行私有签入(称为搁置)来提供此功能,如果生成成功,该功能将升级为正常签入 TeamCity有“延迟提交”的概念 我可以全心全意地推荐TeamCity 获得奖励,击败破坏构建的开发人员 在大屏幕上显示构建状态,每个人都可以看到它的红/绿背景和最后一个提交人的姓名 让构建服务器向整个开发团队发送一封电子邮件,指出破坏构建的

有哪些方法可以防止草率的开发人员破坏构建。
是否有版本控制系统具有防止代码签入破坏构建的系统。

谢谢

Microsoft TFS Build有一个名为“门控签入”的功能,它通过执行私有签入(称为搁置)来提供此功能,如果生成成功,该功能将升级为正常签入

TeamCity有“延迟提交”的概念

我可以全心全意地推荐TeamCity

  • 获得奖励,击败破坏构建的开发人员
  • 在大屏幕上显示构建状态,每个人都可以看到它的红/绿背景和最后一个提交人的姓名
  • 让构建服务器向整个开发团队发送一封电子邮件,指出破坏构建的开发人员
  • 老实说。。。为什么人们对“让开发人员做X”如此着迷。告诉他们这是过程,如果他们不遵守,就解雇他们


    编辑:因为下面的评论太长

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

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

    我们的过程是从SVN更新并在提交之前在本地运行提交构建(大约2-3分钟)。如果通过,则将其发送。如果未通过,则在本地修复并重复。由于我们进行TDD,通常只有当从SVN中提取的内容破坏了您正在处理的内容时才会发生这种情况

    如果它在CI中失败,您可能会忽略该过程,或者您的提交与其他人的提交发生了不好的冲突。屏幕变红,有人对您大喊大叫,您可以修复它,然后继续。这通常只发生在我们身上,大约一周一次;大多数情况下,它变红是因为人们试图抄近路;-)

    没有人需要“强迫开发人员”去做任何事情。我们是有创造力、有艺术感的个体,通常都是成年人和专业人士,只要流程合理,就可以遵循该流程。在这种情况下,在本地构建,并且只有通过了该流程才可以提交


    谁在乎构建是否在CI中中断,只要它被快速修复,不会妨碍团队工作?

    如果最后的评论是个笑话,我会喜欢笑脸什么的。现在我对你的态度感到难过:(好的,很好的编辑,我现在明白你的意思了。我不同意,但我明白。我宁愿解雇员工,也不想讨论为什么团队成员认为保持绿色建筑不重要。如果我能传达这一点-有更大的机会一直保持绿色建筑,而且是一个很大的机会(呵呵,顺便说一句:)是不需要的。做爱而不是战争,有点;)我同意Marcus的观点,我不同意dty。在我的工作中,我们有数千个测试对数据库进行密集测试。运行测试需要24小时。我们是一家足够大的公司,每天有几十个左右的提交。目前,我们在上一个构建完成时使用CI进行构建,这意味着至少有十几个新的提交在每个版本中。我都在努力争取真正的CI,这意味着分发版本,可能是新的服务器等等,但你猜怎么着?接着说:我们不会有1.5名全职员工负责跟踪这12个提交中的哪一个被破坏。我们不会出现这样的情况:审核人批准签入,然后一天之后监控自动提交的人mated testing将6个新的中断测试转储到紧急的bug queu中。我们不能在本地运行,因为将开发框绑定24小时是不合理的(有些安全检查每个都需要一个多小时,因此需要在多个CPU之间并行)。我们需要能够推送,但随后让CI进程确定从哪里开始。