设置与SVN的持续集成

时间:2020-03-05 18:38:50  来源:igfitidea点击:

我们将建议使用哪些工具来设置CI,以使用SVN进行源代码控制来构建和部署基于DotNetNuke构建的多个网站?

我们目前正在考虑将Cruise Control配置为与NAnt,NUnit,NCover和Trac一起使用作为测试用例。还有哪些其他组合值得研究?

我们对开发环境拥有完全的控制权,因此在这里一定可以使用某种形式的CI,但是我也想说服我们的生产服务团队,他们可以使用这些工具可靠地部署到系统测试,通用甚至生产环境中。

解决方案

回答

我将看看Team City http://www.jetbrains.com/teamcity/index.html
我认识一些正在研究这个问题的人,他们对此表示好话。

我的公司的构建过程是在FinalBuilder中完成的,因此我将尽快查看他们的服务器。

CC非常好,因为我们可以让一个CC服务器监视另一台CC服务器,这样我们就可以进行设置,例如在构建服务器上的构建完成时,测试服务器将唤醒,启动虚拟机并部署应用程序。类似的东西。

回答

我们将CruiseControl与NUnit,NCover,FxCop,SVN结合使用,并编写了一些自定义工具来生成报告。在我看来,在过去几年中,它已被证明是一个很好的组合。

令人沮丧的是,MS将其所有集成工具都限制为VSTS。它的测试框架与NUnit一样好,但是我们不能使用其代码覆盖率工具或者其他任何工具。

我会检查一下XNuit,它看起来很有前途(但目前缺少UI)。

我们使夜间构建自动化,而我们也可以使UAT和手动测试构建自动化,但是我不确定我们是否希望将发布自动化到生产服务器。即使有任何更改,其重要性也非常重要,以至于无论如何都要有人监视它。

回答

Microsoft通过将其包含在Visual Studio 2008 Professional中并允许在安装了Framework 3.5的命令行中运行测试,从而放松了对测试平台的限制。我们最近为一个客户进行了分频,到目前为止,他们已经能够运行所有测试而无需NUnit。

回答

我们使用运行msbuild脚本的CruiseControl.NET。 Msbuild负责在每次提交,编译和运行FxCop和NCover / NUnit时从SVN更新。

回答

看看哈德森。它是高度可定制的,并且恕我直言,它比CruiseControl更容易。

回答

我建议我们对构建系统使用带有SVN的NAnt + NUnit(+ NCover)+ TeamCity进行了解。实际上,Pete W的想法书中有一篇非常不错的文章描述了这种配置(对不起,此链接不再存在!)