Hi All,
As part of my overall development practices review I'm looking at how best to streamline and automate our ASP.net web development practices.
At the moment, our process goes something like this:
1.) Designer builds frontend as static HTML/CSS on a network share. This gets tweaked until signed off. (e.g. http://myserver/acmesite_design) 2.) Once signed off, developer takes over and copies over frontend html/css to a new directory on the same server (e.g. http://myserver/acmesite_development) 3.) Multiple developers work on local copy until project is complete. 4.) Developer publishes code to an external publicly accessible server for a client to review/signoff. 5.) Edits made locally based on feedback. 6.) Republish to external server. 7.) Signoff 8.) Developer publishes to live public server
What goes wrong? Lots of things!
1.) Version Control - this is obviously a must and is being introduced 2.) Configuration errors - many many times, there are environment specific paths and variables (such as DB names, image upload directories, web server paths etc. etc.) which incorrectly get copied from local to staging to live etc. etc. with very embarressing results.
I'm pretty confident I've got no.1 under control. What about configuration management? Does anyone have any advice as to how best to manage an applications structure within asp.net apps to minimise these kinds of problems?
Thanks in advance.
Ed