Code promotion plan from dev to live for wordpress

Toqeer asked:

We are having wordpress multi-site and the developers do there development on dev server, We are not using any version control for wordpress development, I need some plan so we can move the site from dev to live fast and secure.

I was thinking about inotify + rsync but what about the db promotion?

My answer:


WordPress has a simple 503 “maintenance” page which you can (and should) enable during a code deployment. If you upgrade WordPress from within itself, then it enables and disables this page automatically.

If you want to enable it yourself, simply create a blank file .maintenance in the top level WordPress directory, and delete it when the deployment is complete.

Example:

touch /srv/www/example.com/.maintenance
rsync staging@staging.example.com:/srv/www/example.com /srv/www/example.com
# custom scripts here, if any
rm /srv/www/example.com/.maintenance

At this time, a WordPress user with the Administrator role must now visit http://example.com/wp-admin/network/upgrade.php (for multi-site; remove /network for a single site) to update the database schema. I don’t know of any good way to do that offline; however WordPress is pretty good at continuing to work with an out-of-date schema.


View the full question and answer on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.