Home > .NET, Continuous Integration, Extreme Programming, Test Driven Development > SubNAnting – Deploying software with different configurations

SubNAnting – Deploying software with different configurations

On my current project, we have 5 different environments – bleeding, stable, test, stage and production. The application is ASP.NET-based but also has a complicated Extraction Transformation and Loading (ETL) process which synchronizes the application’s data with a legacy system. All of this requires *alot* of configuration!

How do you manage this configuration across 5 environments with continuous integration and automated deployment?

SubNAnting! This is my contribution as a new word but alas the technology is not mine. The NAnt tool which does a wonderful job of building and deploying software also has a task which allows you toexecute a NAnt script from another NAnt script while inheriting all the launching scripts variables (if you set the inheritall attribute to true).

This allows you to specify your configuration variables in a “bootloader” NAnt script that then calls the main NAnt script which does the deployment. That way your main NAnt script is the same across all environments and only the “bootloader” script changes.

For Example:



To launch another NAnt script from an existing NAnt script.

Anyone else using this technique?

  1. http://
    August 25, 2004 at 9:34 pm

    How about the terms “interNanting” or “extraNanting”. Perhaps “coNanting”? These are all virtually similar terms.

    — LD

  2. http://
    October 24, 2007 at 2:24 pm


    I have also the same requirement. We use PERFORCE as Version Control Software. We have three different environments namely dev / QA / Prod. Can u please provide me a way to write a single build file, which allow me to build and deploy the ASP.Net application in three different environments.

    Thanks in advance


  1. No trackbacks yet.

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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

%d bloggers like this: