Build Configurator :- A build and Release Framework with Many Tools

Posted: February 9, 2010 in Architecture Series

Build and Release Framework: –
Build and Release Framework also know as Build Configurator can be utilized by project teams for incorporation of Continuous Integration (CI) in their daily workflow. In the world of Agile Software Development and Management process a robust build and Continuous Integration is a common requirement. This framework targets project based on .NET Framework 2.0 or higher.
Recommended tools include CC.Net , MSBuild, NUnit, MSTest, Stylecop, FxCop, NDepend, CAT.Net and Source Code repository (SVN, Clearcase and VSTS). We recommend projects to use MSBuild over NAnt, as MSBuild is well supported from Microsoft and future releases as well. Build scripts generated starting from VS 2005 onwards are MSBuild scripts which makes the build setup very easy for most projects. MSBuild version 3.5 & above has multiprocessor support for faster builds. However for heterogeneous projects NAnt might make for a better option.
Although the scope of Continuous Integration can vary from project to project, framework comprises of common minimum set of recommended tools. Project teams can extend the framework to add additional tools based on this initial setup with minimal effort.
High level features include:

  • Web based Continuous Integration Configuration tool to configure the Build Server
  • Get the latest source from the repository (SVN, ClearCase,VSTS)
  • Source Checkout
  • Source Versioning
  • Compile the source (MSBuild)
  • Build Trigger settings
  • Scheduled Trigger
  • Filter Trigger
  • Interval Trigger
  • Build the databases (SQL Server)
  • Database creation and updating data (such as creating tables, views, stored procedures etc. and updating the objects using SQL files)
  • Run Automate Tests & generate Code Coverage report
  • Run the unit tests (NUnit, MSTest)
  • Produce code coverage results (NCover, MS Code Coverage)
  • Perform Code Quality and security Checks using
  • FxCop
  • Style Cop
  • NDepend
  • CAT.Net
  • Create source documentation
  • Build MSDN style documentation using SandCastle
  • Email Notification
  • Dashboard of Build Status
  • Creation of MSI Packages
  • Perform IIS Activities
  • Creation of Virtual Directory and App pool
  • Publishing Web sites
  • Multi server Deployment

Functional View
Key functions of the system Includes as follows

  • Collect the user inputs to configure the Build and release framework
  • Automatically create the folder structure that includes Bin, Build Log, Build Settings, Src folder
  • Extracting the Project related tools and projects to the build setting folder
  • Automatically generate the MS Build script file based on user selection
  • Updating the CCnet configuration file
  • Update the ccnet dashboard view setup

For Details go to the Codeplex site here


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s