持续集成工作流程的好处

时间:2011-09-23 18:31:03

标签: git jvm continuous-integration teamcity

我正在筹划一个新项目并考虑我需要购买的产品。目前我很确定我们将使用Git作为VCS,但我对整个持续集成概念都很陌生,并且对我们从中获得的好处感到困惑。但我感觉这件事可能会大大增加我计划在JVM Web项目上收集的大约5名开发人员的团队的未来工作流程。

所以我的问题是:

  1. 与使用像beanstalkapp这样的私有Git存储库相比,使用某些CI系统可以获得哪些好处?
  2. 如果我将使用某些CI系统,我是否还需要设置或租用一些私有VCS存储库,或者它是否已经集成到CIS中?
  3. 我发现自己非常信任我目前所知的所有JetBrains产品,所以我正在考虑TeamCity。这是一个不错的选择吗?
  4. 以防万一。我想知道是否有更好的“前沿”VCS与我应该考虑的Git相比?

2 个答案:

答案 0 :(得分:3)

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(私有或其他)设置单独的存储库。

3)TeamCity是一款优秀的CI工具。我正在使用完整许可证在我的项目中使用它。对于5开发团队,我认为TeamCity及其开发人员专注的功能和设置将是一个很好的CI工具。你可能想看看詹金斯。

4)Hg(mercurial)和Git在DVCS世界中都是众所周知的“前沿”。 SVN是我认为使用最广泛的VCS。 Git将是一个不错的选择。

答案 1 :(得分:1)

  1. CI(使用TDD)的主要好处是它可以帮助您尽早识别失败的代码。
  2. CruiseControl这样的CI工具应该在插件的帮助下集成到您的SVN存储库,但是您需要检查兼容性。
  3. 不能在这里帮助你,我不认识TeamCity,但我使用过CruiseControl,我很满意。
  4. 我个人使用自己的subversion服务器。对于工作,我总是倾向于完全控制支持系统。现在我们正在将我们的VC服务器迁移到云端,但仍在设置我们自己的。