我目前正在计划一个新项目并考虑我需要购买的产品。目前,我非常确定我们将使用 Git 作为 VCS,但我对整个持续集成概念还很陌生,并且对我们可以从中获得的好处感到困惑。但我有一种感觉,这个东西可能会大大增加我计划在 JVM Web 项目上聚集的大约 5 名开发人员团队的 future 工作流程。
所以我的问题是:
- 与仅使用 beanstalkapp 等私有(private) Git 存储库相比,使用 CI 系统有什么好处?
- 如果我要使用某些 CI 系统,我是否还需要设置或租用一些私有(private) VCS 存储库,或者它是否已集成到 CIS 中?
- 我发现自己对迄今为止所知道的所有 JetBrains 产品都非常信任,因此我正在考虑 TeamCity。这是一个好的选择吗?
- 以防万一。我想知道与 Git 相比,我是否应该考虑一些更好的“尖端”VCS?
最佳答案
1)好处 - 很多地方都谈到了好处,我只会链接到它们,因为我无法做得更好 -
http://martinfowler.com/articles/continuousIntegration.html#BenefitsOfContinuousIntegration
http://en.wikipedia.org/wiki/Continuous_integration#Advantages
2) Teamcity、Hudson/Jenkins 和 CruiseControl 等 CI 工具通常没有集成的 VCS。他们能够轮询您正在使用的 VCS,并构建、测试、部署等。您必须使用您选择的 VCS(私有(private)或其他形式)设置一个单独的存储库。
3) TeamCity 是一款优秀的 CI 工具。我在我的项目中使用它并拥有完整的许可证。对于 5 名开发人员团队来说,我认为 TeamCity 以其以开发人员为中心的功能和设置将是一个很棒的 CI 工具。不过,您可能想看看 Jenkins。
4) Hg (mercurial) 和 Git 在 DVCS 领域都非常知名且处于“前沿”。我认为 SVN 仍然是使用最广泛的 VCS。 Git 将是一个不错的选择。
关于git - 持续集成工作流程的好处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7533336/