开发者

.NET Build Process

All I am looking for the best free set of tools to be used in a MS Based build process. Checkout, Build, Package, Test, Deploy, etc.

I know this question has been asked before but it was over 2 years ago, and in our world that is an eternity.

I am looking to develop a pattern that is easily adapted to similar projects. Almost like a template/cookie cutter system.

I am currently looking into using CruiseControl, Powershell, MSBuild suite of tools.

If we choose to move to 4.0 will we have issues? Are there better alternatives? Limitations ? Or will these pretty much meet my needs开发者_如何学C.

One piece that i am never happy with is the process of packaging. We actually have opted in the past to just use Visual Studio Deployment Projects but those are very* ancient and my fear is WIX will be too complicated for the people implementing it.


I hear that cruisecontrol.net is popular, but I didn't have the time to deal with the XML files needed to configure the build. I opted for teamcity, which is free if you only have 20 projects or less. It is very easy to set up because it has vs2005 and vs2008 build runners that just need the solution file to build. I also got nunit, ncover, and fxcop running without too many problems. It works with all of the major VCSes, though in some cases it cannot label automatically (SVN is okay though). I cannot comment on auto deployment but I believe it can do it. It had better, because this is next on my list and I did think about this when choosing a continuous integration solution.


One of the items on my TODO list is to look at Albacore, which provides .NET tasks for the Rake utility. I've been very impressed by how easy Rake makes automation for Ruby projects.


CruiseControl.Net the xml configuration is not that hard, and very configurable. if you can script something via a commandprompt(batch, powershell, nant, msbuild, ...) you can ran it via CCNet. I use it even for deployment on 70+ servers. And this covers database upgrades, clickonce applications, wcf services, SQL Server Reports, .... I let CCNet even take backup's of the SQL servers, because the pulishers make it easy to report failure / succes.


Source Control: mercurial

Build: MSBuild

CI Server: Hudson

Web Deployment: Microsoft Web Deploy


CI Server: TeamCity

Build Tool: NAnt

You can shell out to MSBuild from NAnt if desired, and you can also execute NAnt scripts directly from TeamCity. For most tasks TeamCity is all you need.


  • Windows Scheduled task
  • Batchfiles
  • Visual Studio(TFS)
  • NUnit
  • Installshield
  • Command line arguments to run and log each of those

Advantages: no issues, fully customizable, full control over the build process, tests and deployment

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜