Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Thank you all for your kind suggestions. We checked them all out, but after careful consideration we decided to roll our own with a combination of CruiseControl, NAnt, MSBuild and MSDeploy.</p> <p>This article has some great information: <a href="http://dougrohm.com/blog/post/2006/01/29/Integrating-MSBuild-with-CruiseControlNET.aspx" rel="noreferrer">Integrating MSBuild with CruiseControl.NET </a></p> <p>Here's roughly how our solution works:</p> <ul> <li>Developers build the 'debug' version of the app and run unit tests, then check in to SVN.</li> <li>CruiseControl sees the updates and calls our build script... <ul> <li>Runs any new migrations on the build database</li> <li>Replaces the config files with the build server config</li> <li>Builds the 'debug' configuration of the app</li> <li>Runs all unit and integration tests</li> <li>Builds the 'deploy' configuration of the app <ul> <li>Versions the DLLs with the current major/minor version and SVN revision, e.g. 1.2.0.423</li> <li>Moves this new build to a 'release' folder on our build server</li> <li>Removes unneeded files</li> </ul></li> <li>Updates IIS on the build server if required</li> </ul></li> </ul> <p>Then when we have verified everything is ready to go up to live/staging we run another script to:</p> <ul> <li>Run migrations on live/staging server</li> <li>MSDeploy: archive current live/staging site</li> <li>MSDeploy: sync site from build to live/staging</li> </ul> <p>It wasn't pretty getting to this stage, but it's mostly working like a charm now :D</p> <p>I'm going to try and keep this answer updated as we make changes to our process, as there seem to be several similar questions on SA now.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload