06-11-2009, 09:14 AM
|
#2 (permalink)
|
|
The Contributor
Join Date: Nov 2007
Location: California
Posts: 82
Thanks: 0
|
There's no reason to stop apache/mysql on prod.
If you have database migrations, you should be able to run them live, prior to pushing your code.
What i've done, is simply set the doc root on apache to a sym link, ie:
/builds/current
and then have folder:
/builds/releases/
each release goes into it's own folder there.
Have the deploy script move all of the files over, chagne the symlink to point to the new release number, and then restart apache.
No downtime.
I've used this method, and continue to use this method, on projects that receive millions of unique users a month, all of it swapping on the fly.
Only rarely is there ever a need to bring the application down for DB migrations. If replication falls behind by 10, 15 minutes, it's nothing major.
|
|
|
|