开发团队经常受到版本控制的构建暂时受损的困扰。整个团队的生产力可以在尝试从一个人破坏的构建中恢复时停止。
是否有软件可以通过不接受首先未通过测试的提交来阻止破坏版本控制中的构建的方式来托管Git?例如,使用场景可能如下所示:
一些注意事项:
答案 0 :(得分:1)
我认为这更像是一个构建服务器功能,它与Git等VCS相连。 TeamCity确实对此有所支持,但我没有尝试过,所以我无法评论它实际上有多好。
http://www.jetbrains.com/teamcity/features/delayed_commit.html
哈德森家伙已经讨论了一段时间,但我还没有在发布中看到它。
http://wiki.hudson-ci.org/display/HUDSON/Designing+pre-tested+commit
答案 1 :(得分:1)
我们使用gerrit和哈德森。这也是android和Cyanogenmod的用法(以及许多其他用途)。
Gerrit允许代码审查和自动构建每个提交,并自动拒绝那些未通过测试的提交。
哈德森参加了测试。
哈德森:http://wiki.hudson-ci.org/display/HUDSON/Designing+pre-tested+commit
Gerrit:http://gerrit.googlecode.com
这个系统与repo工具配合使用,可以拥有大量的小型存储库,这样可以减少必须通过rebase手动处理的合并冲突。
注意:如果你有一个庞大的现有代码库,那么启动和运行是相当多的工作,但是完全值得。
答案 2 :(得分:0)
这是一个非常好的主意。 Bamboo非常自然地支持这一点。几位Bamboo客户以及Atlassian的团队都有这种精确的方法设置并且效果很好。 Bamboo有事件监听器,可以告诉(不轮询)何时将提交推送到'test verfication'repo,然后在推送到stable分支之前通过运行测试来验证它。 www.atlassian.com/bamboo