Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Free Visual Studio Build Automation Solution

I'm looking for a build automation solution for use with a Visual Studio solution space containing multiple projects of mixed source types (mainly Win32 C++ and C#). Also, all the code is stored in a Subversion repository. So it needs to go all the way from pulling down a working copy of the code, to compiling the source, to building the setup files.

Requirements are as follows:

Absolute Must Haves:

  • FREE
  • Easy to use GUI (I can already write a bunch of NMake scripts...this is what I don't want to do)
  • Subversion Integration (at the least be able to pull down the latest code)
  • Multiple source Language Support (doubt this matters as it's built with VS in the end)
  • End to End automation (one click build)
  • Build profiles (i.e. Intermediary vs Release)

Things I would like

  • Source file find and replace (for automatically incrementing version information in header files)
  • Email reporting
  • Automatic builds after Subversion commits
  • Web interface
  • FTP integration
  • Ability to auto-generate build file names with proper version strings

Things I don't need

  • Unit Testing support
  • Bug tracking integration
like image 920
Adam Haile Avatar asked Jul 13 '09 15:07

Adam Haile


2 Answers

NAnt and CruiseControl.Net do all of this except it has no GUI for creating the build scripts themselves. The GUI it does have is a web front end that allows you to monitor / force builds, as well as a system tray application which does the same. If GUI creation of the scripts is a really big requirement then final builder is one of your best options, however it will cost you money. I don't think you are going to get the GUI in this space for free.

like image 91
Andrew Cox Avatar answered Oct 13 '22 17:10

Andrew Cox


Have you considered using MSBuild? It comes free with the .NET framework.

It would require a small amount of coding. For example, you'd have to create a new .net class (deriving from Task) that overrides the Execute function, then call out to SVN to update your source code. But the bulk of the set up would be in a build.xml file where you can specify solution file names, and the different configurations.

A reasonable introduction is here: MSBuild

I understand why you'd want to do this through a GUI, but IMHO the flexibility you get using MSBuild is worth the extra effort of setting it up, while not being as complex as writing it completely from scratch in another scripting language.

like image 31
John Sibly Avatar answered Oct 13 '22 15:10

John Sibly