CruiseControl(或任何其他CI工具)提供的不仅仅是编写良好的(n)Ant?

JBR*_*son 3 nant continuous-integration

我们有大量的nAnt脚本来构建我们的各种产品.它们几乎都具有以下结构:

  1. 删除旧的工作副本.
  2. 从版本控制中查看完整的新副本.
  3. 在适当的文件中增加内部版本号(自定义nAnt任务).
  4. 运行静态分析(StyleCop,Perl脚本)
  5. 使用Visual Studio构建解决方案 - 以MSI输出结束.
  6. 运行单元测试(nUnit,JSUnit)
  7. 运行静态分析(FxCop)
  8. 将可交付成果(MSI,自述文件等)压缩到名称很好的包中.
  9. 将此zip包放到服务器共享上.
  10. 将结果发送给团队.

根据我们的研究,似乎CruiseControl(.net?)/ Hudson/BuildBot只会添加导致构建的触发器,此时双击远程桌面上的nAnt脚本和状态仪表板.

我们缺少其他重要的东西吗?

JMD*_*JMD 5

问题是主观的,因此我的答案也是如此.

在我之前自动化的项目中,CruiseControl主要用于这一目的:因此我们不必远程进入构建机器并触发构建.CI部分是CruiseControl将为您监视存储库,以您定义的间隔触发构建.

它还为我们提供了可以触发发布的仪表板,或者返回检查过去构建中的日志和人工制品.

对我们而言,实施CruiseControl足以获益.也许它看起来并没有那么多,直到你完成它并且一个月后意识到你没有必要触摸你的构建系统,因为它是默默地,不费吹灰之力地为你做的事情.