自动化日常构建的最佳方式

时间:2008-09-10 10:51:57

标签: continuous-integration build

好的,所以我们都知道每日构建是一个项目的心跳,但最简单的自动化方式是什么?

我们有perl脚本包装我们的管道,包括ClearCase,VS2005(C ++),Intel FORTRAN,Inno设置。我们在UNIX上使用cron作业来安排构建,并托管一个简单的Apache Web服务器来查看和监视构建。总而言之,它很复杂,我想知道人们使用的最好的现成解决方案是什么?

是的,我确实说FORTRAN有时候没有逃避它,它有效,没有必要为一些经过试验和测试的FEA代码做一个巨大的重新实施项目。

9 个答案:

答案 0 :(得分:4)

我听到的一个新版本是hudson,非常光滑 - 也支持MSBuild。

答案 1 :(得分:3)

我们正在实施CC.Net。到目前为止它似乎很适合你的模型。

开箱即用,它提供自动化建筑,结果跟踪和通知。我不确定构建进度监控的详细程度。

答案 2 :(得分:3)

有许多专门处理此问题的工具:

这些工具对最常见的构建类型提供开箱即用的支持。它们都支持某种“运行此脚本”类型的构建过程。

最后,您应该使用更好的构建工具(MSBuild,Ant,Maven,Make,...),并使用自定义脚本填补odder工具的空白。自动构建可以按正确的顺序调用它们。

答案 3 :(得分:2)

我们使用TeamCity - 但它是一个简单的C#/ Java开发 - 也许您的管道可以通过它可以驱动的脚本完成?

答案 4 :(得分:2)

以下是我们发现的帮助我们选择持续集成工具的最佳资源。我们一直在评估此页面上的5个或6个工具。

http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix

答案 5 :(得分:1)

我使用Visual Build Pro取得了成功。

答案 6 :(得分:1)

CC.NET非常强大。使用它,真的很高兴。甚至是系统托盘中的状态图标。这是一个小细节,但它可以让您对项目的“健康状况”有一个很好的概述。当你看到测试时,你会立即感到有动力修复测试。

现在我们使用一系列自编脚本。由于我们编写Python,编译是不存在的,因此唯一的问题是运行测试。

答案 7 :(得分:1)

如果您正在使用Visual Studio,请务必查看Team Foundation Build以查看它是否适合您的情况。

看起来Buck Hodges'blog post on the VS 2008 version也是一个很好的资源。

答案 8 :(得分:0)

我知道这是一个非常古老的问题,但它仍然会出现在搜索中,所以有人应该提到Jenkins - 哈德森的开源延续。

来自Jenkins wiki

  

在这些事情中,目前Jenkins专注于以下两项工作:

     
      
  • 持续构建/测试软件项目,就像CruiseControl或DamageControl一样。简而言之,Jenkins提供了一个易于使用的所谓持续集成系统,使开发人员可以更轻松地将更改集成到项目中,并使用户更容易获得新的构建。自动化的连续构建提高了工作效率。
  •   
  • 监视外部作业的执行情况,例如cron作业和procmail作业,甚至是在远程计算机上运行的作业。例如,使用cron,您收到的只是捕获输出的常规电子邮件,您需要勤勉地查看它们并注意它何时崩溃。詹金斯保留了这些输出,让您在出现问题时轻松注意。
  •   

它最初是以Java为基础构建的,因此它与许多其他Java工具很好地集成,但您可以使用任何语言,包括OP提到的所有语言。