CI是否需要CI服务器

时间:2009-04-25 01:10:36

标签: continuous-integration

持续集成需要CI服务器吗?

5 个答案:

答案 0 :(得分:8)

为了促进持续集成,您需要自动化构建,分发和部署流程。在没有任何专门的CI-Server的情况下,每个步骤都是可能的。协调这些活动可以通过文件通知和其他低级别机制来完成;但是,协调这些步骤的数据库驱动后端(CI-Server)极大地增强了系统的可靠性,可伸缩性和可维护性。

答案 1 :(得分:3)

您不需要专用服务器,但某种构建机器是非常宝贵的,否则没有单一的中心位置可以始终构建和测试代码。虽然您可以使用开发人员机器模仿这种影响,但是存在与该机器上正在更改的代码重叠的风险。

顺便说一下,我使用Hudson,它的重量很轻 - 不需要太多就可以了。

答案 2 :(得分:2)

使用专用机器非常重要,这样您就可以获得独立验证,而不会损坏。

对于小型项目,它可以是一台非常基本的机器,所以不要让硬件成本让你失望。你可能在壁橱里有一台旧机器就足够了。

您还可以使用虚拟机来避免专用硬件。最好的办法是找到一个正在做其他事情但是负载不足的服务器,然后把VM放在上面。

答案 3 :(得分:2)

在我听到“持续集成”一词之前(这是在2002年或2003年),我写了一个与cvs相关的夜间构建脚本,抓住了主要项目和五个较小的子项目的干净副本,通过ant构建所有jar,然后构建并通过使用tomcat ant任务的第二个ant脚本重新部署WAR文件。

它在晚上7点通过cron运行,并发送了一堆附带输出文件的电子邮件。我们在项目的整个7个月中使用它,并在接下来的20个月的维护和改进中继续使用。

它工作正常,但我更喜欢哈德森而不是bash脚本,cron和ant。

答案 4 :(得分:1)

如果项目中有多个开发人员,则确实需要单独的计算机。

如果您正在使用.NET技术堆栈,请参阅以下内容:

  1. CruiseControl.Net相当轻量级。这就是我们使用的。你可以在你的开发机器上运行它而不会有太多麻烦。
  2. 除非您有Visual Studio安装项目,否则无需安装或运行Visual Studio。相反,您可以使用名为MSBuild的免费命令行构建工具。