dashy an automatic deployment system

home why? how does it work? example implementations getting started complete install guide notes special variables download contact

dashy // getting started

getting started with dashy

Here I will cover the basics of what you will require if you intend to use dashy I will go over the process and refer to a typical ASP.NET Website, but the rules will apply to any project. Even though it won't take a great amount of time, I suggest you set aside half a day to convert your current environment to a dashy environment, just to ensure that you can rollback your changes, and counter to any interesting situations that may occur :)

I will assume a reasonable level of knowledge with CI servers, build systems, scripting engines (nant) and SVN.

The most important thing to note is that your development environment needs to be set up in a specific way, to get the most benefit from dashy. And that is like so:

1. Source control

You need to have your repository under source control in SVN. This will imply that you also have a directory structure like:

/trunk
/tags
/branches

Dashy requires that you add a new folder to that structure, called releases, like so:

/trunk
/tags
/branches
/releases

In here, will store the releases that it prepares for you. More information on how this works soon.

2. Build server

You need to have a build server (sometimes called a 'Continous Integration (CI)' server. I have used dashy with CruiseControl.NET quite successfully, though the build server you use shouldn't matter, as long it has the ability to automatically get the recently commited code, execute a task against it.

3. Naked build

This is the part that your environment may not currently, have, but should have, in order to work perfectly with dashy. I am referring to the ability for the result of your CI build to be converted to any given release that you may have. So for example, if you have two servers: testing and live, the result of your build should be naked: it should not be configured for either server. The configs should (at this point) be not set with data for either server, should not be set with connection strings for either server, and so on. This is very important.

If you don't have this, it's easy enough to achieve. If your current web.config looks something like:

...

<add key="connectionString"
value="data source=dbserver;initial catalog=dbname;User ID=dbuser;Password=dbpassword" />

Simply change it to be:

...

<add key="connectionString"
value="$connectionString" />

You'll need to understand how the rest of dashy works before this makes sense, but effectively, at a later stage in the process, dashy will replace the variable $connectionString with the appropriate string for the appropriate environment.

and ...

That's it, initially. You are now ready to proceed to: dashy installation.

© noon silk, 2009 (deployed at revision 1283 which was built on the 13-oct-2009 03:50am)