使用dvcs有很多优点,它可以像集中式vcs一样使用,但是有本地提交,并且能够非常轻松地为一些较小的组分叉项目,这使得更难以支持持续集成?它有助于开发,每个人都可以访问CI服务器测试的最新更改,因此可以最大限度地减少不兼容更改的可能性。
答案 0 :(得分:6)
您可以集中DVCS。 DVCS和集中式DVCS之间的区别在于,使用DVCS,您不会 来集中它。
您可以拥有一个中央存储库,每个人都可以推送更改,每个人都可以从中获取最新的代码。您可以在服务器上编写一个提交钩子,这样每次有人推送代码时,它都会运行一个测试以确保它通过测试。它就像集中式版本控制一样,只是更好,因为在我准备好推送到中央服务器之前,我可以创建一个本地分支并进行多次本地提交。
你有没有做过很大的改变,打破了很多东西,想要做几次提交,但是在你完成之前不要分享它们并且一切都被修复了?这就是DVCS变得容易的事。
答案 1 :(得分:0)
它确实使得执行CI变得更加困难,因为源控制系统鼓励您不要持续集成。但是,绝对没有什么能阻止您定期集成到中央存储库中。该团队只需要对此保持纪律处分。
如果较小的团队分叉项目并在一段时间内完成自己的工作,那么您应该针对该分支进行持续集成构建,并可能在两个分支之间建立定期集成。
这与Accurev推出的基于流的多阶段持续集成策略类似:
http://www.accurev.com/multistage-continuous-integration.html