Somehow I couldn't find a related question that quite fit me.
Anyway, I run a small blog. When I first started my blog it had next to no traffic, now it receives a couple hundred views per day though, hence my need for a new process. I have my website in a mercurial repository (on bitbucket). My previous method of updating it was to do something like
cd /srv/mywebsite
sudo svn update
sudo xbuild <release configuration options>
I feel that doing this is really not the best way. Also, previously I was using SVN, and for this next update, I've converted to Mercurial, so this won't quite work so easily.
What is probably the best way to update my simple website?
Things to keep in mind:
- My website directory contains various non-versioned files such as images I've added as part of my blog content and such
- My website runs on Arch Linux server and uses mod_mono+Apache+MongoDB (though database changes are quite rare)
- There is at least one versioned file which varies between development and production. This contains database connection strings and other internal configuration
- Downtime isn't a huge issue, but I really try to avoid more than 15 minutes per update
Surely someone out there has to manage a similar set up. What's the easiest way to do this? (preferably without having to "deploy" from my local machine and manually merge configuration files)