持续构建在Linux上

4
我们有一个较小的C++ Linux项目,与我们的大型C++/MFC Windows项目相伴。目前,Windows项目使用CruiseControl.net和Visual Build Pro进行连续构建和集成管理。我们希望实现类似的工具来启动我们的Linux项目。
我的问题是,我应该研究使用单独的Linux构建工具,还是尝试通过利用其自动化并简单地调用make脚本来让Visual Build Pro工作在我们的Linux构建机上以实际编译项目?
更进一步,由于Linux项目的规模较大,将所有内容包括制作快照等都脚本化会更容易吗?

这个与编程有关的内容可能更适合发布在程序员上。 - Sam Miller
2个回答

3

虽然我不知道你的项目中“集成”步骤的复杂性,但是根据我的经验,“构建”步骤最好通过一个简单的shell脚本来解决:

 BUILDDIR=`mktemp -d`
 svn checkout MY_REPOSITORY/trunk $BUILDDIR
 cd $BUILDDIR
 ./configure
 make all check

我已经使用Dejagnu解决了我的当前项目中的集成测试部分,只需用另一行sh调用即可轻松运行。

然后将此shell脚本插入到日常运行例程中(例如通过将其添加到Linux机器上的特殊CI用户的crontab),并将CI用户收到的所有邮件转发给负责监视CI的人员。


我之前没提到的另一个问题是,他们喜欢CruiseControl,因为你可以加载网站,强制构建,检查错误日志等等。我认为这种用法应该继续下去。据我所知,CC.net不能在Linux上运行,但我可能完全错了。你有什么想法? - Robb
@Robb:这有点像买一辆汽车来代替滑板车,然后要求通过牢固地踩住后轮来刹车。放弃任何网站相关的东西,ssh设置和维护都更加容易。 - thiton
我同意你的观点,但实际情况与我们不同。无论如何,我会考虑这个解决方案,因为它似乎很容易维护,比我想象的要简单。 - Robb

2

您可以使用Jenkins或Hudson在Linux系统上进行构建。这些工具与源代码控制(svn、perforce等)、cppunit等集成。


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