If the Database Updater is to be truely automated it needs to be able to determine which environment (QA, Dev etc) it is being run against without any human intervention.

I'm sure there are better ways of achieving this but the following is the mechanism currently being used, it may be a little crude but it works well.

1. Create a new file called 'build.environment' in the root of your development directory (i.e. the directory that contains all of your source) e.g. C:\Dev or C:\Source.
2. Edit with notepad and type in the relevant environment, e.g. on your local box it will be 'Development' and on the build box it will be 'Build'. Needs to match the 'Name' value of one of the AgileEnvironments.

Important Notes
> Do not include the build.environment file in source control.
> When you run the Updater from the command prompt it is possible to provide an override value for the environment.

To find this file the Updater starts from AppDomain.CurrentDomain.BaseDirectory then works it's way up to the root drive, so technically you can create the file anywhere up the tree. Best place to put it is root drive.

See AgileEnvironments for a complete list of all possible environments and how to add new ones.

Last edited May 18, 2008 at 11:24 AM by wallism, version 3

Comments

haxen Oct 9, 2008 at 7:48 AM 
If your using the environment Build the ApplicationServerName in Agile.Common.BuildEnvironment must be changed to match your specific server. Took me a while to figure this out.