So I have an ASP.NET MVC website I am developing and never had a decent deployment strategy so making changes, especialy database scheme ones can involve a lot of steps and time.
Here are the steps I am looking todo and would like suggestions on how to do it or tools (preferably free). Feel free to point out any missing steps or things I am doing wrong.
Edit: I will list tools I have used to solve each stage
- Check out all code from source control (perforce)
- Build debug and relese version. Release version needs different connection strings in web.config. (MSBUILD)
- Run all unit tests
- For each page (aspx) combine all referenced JS files and inline code into one file. Same with css
- Minify said JS and CSS files.
- Backup live database schema and data
- deploy database schema changes to live server
- upload all files that are new or have changed to the server.
- Backup all code and my source control depository to external drive and possibly online.
I have it lucky that my site won't have any visitors between 1am and 4pm so all this can be done without the need for staging servers etc?
I know my question is long but this would probably help a lot of people.