CI是否需要CI服务器?

4

持续集成是否需要CI服务器?

5个回答

8
为了方便持续集成,您需要自动化构建、分发和部署过程。这些步骤都可以在没有任何专门的CI服务器的情况下完成。通过文件通知和其他低级机制可以协调这些活动;然而,一个由数据库驱动的后端(即CI服务器)来协调这些步骤,极大地增强了系统的可靠性、可扩展性和可维护性。

3
你不需要一个专用服务器,但是某种类型的构建机器是非常有价值的,否则就没有一个单一的中心地点来构建和测试代码。虽然你可以使用开发者机器来模拟这个效果,但是存在与正在更改的代码重叠的风险。
顺便说一下,我使用Hudson,它非常轻量级 - 不需要太多东西即可启动。

2

使用专用机器非常重要,这样您可以获得独立的验证,避免出现数据损坏。

对于小项目来说,可以使用相当基本的机器,不要让硬件成本打击您的积极性。您可能有一台旧机器放在衣柜里,它已经足够好了。

您也可以通过使用虚拟机来避免使用专用硬件。最好的方法是找到一个正在执行其他任务但负载较轻的服务器,并在其上安装虚拟机。


2
在我听到“持续集成”这个术语之前(大约是在2002年或2003年),我编写了一个夜间构建脚本,它连接到cvs,获取了主项目和五个较小的子项目的干净副本,通过ant构建所有jar文件,然后使用第二个ant脚本构建并重新部署WAR文件,该脚本使用了Tomcat ant任务。
它在每天晚上7点通过cron运行,并发送带有一堆附加输出文件的电子邮件。我们在整个项目的7个月中使用它,并在接下来的20个月的维护和改进中继续使用。
它可以正常工作,但我更喜欢使用Hudson而不是bash脚本、cron和ant。

1
用简单的工具完成工作,达成相同的良好结论的实例。 - ojblass

1

如果项目中有多个开发人员,那么一个独立的机器确实是必要的。

如果你正在使用.NET技术栈,这里有一些指针:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接