Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I administer a social networking site that runs on WP, BP, and WP Multisite. Currently I have two servers: development and production, but I plan to move to three: development, staging, and production. Is there some piece of software out there that will allow me to push changes from development to staging, and staging to production, with a single command? Bonus points if it's web based. Also, since it's a social networking site, I can't overwrite any content that the users have generated.

share|improve this question
    
Are you planning to do some automated testing before pushing to production? or you decide when the production is updated/patched? Either way you might need to look into Continuous Integration Setup. –  Azizur Apr 12 '11 at 12:06

3 Answers 3

You will be able to move wp-content related files e.g. themes, plugins, languages etc easily. For instance use rsync to sync changes between the different servers.

However migrating settings from the testing database to staging and production will probably result in having to create a custom solution for your setup, since moving settings between different WordPress installs is annoying due to the fact that WordPress settings may be serialized arrays and since WordPress uses full urls in some of those :(

My limited and 'hackish' solution is to use database dumps between the different versions, which would nicely work between staging & testing, but not for production since you cannot overwrite user-generated content.

Anyways, I've described my limited method on my blog in a bit more detail, maybe it helps:

https://www.burobjorn.nl/blog/2011/06/22/keep-track-of-configuration-settings-during-development-with-multiple-developers-and-wordpress-multisite/

share|improve this answer

There is no settled solution for change management in a WordPress environment.

I recently wrote about one approach, that might be helpful.

@scribu then brought our attention to this new 'Ramp' offering for content staging. which might be of interest, depending on your use case.

@MikeSchinkel has his own potential solution which doesn't attempt to preserve of user-generated content, at least initially, but is definitely worth checking out..

share|improve this answer

Your situation is pretty unique: you want a pushbutton solution that does content sync and reconciliation. I'm pretty certain that you'll need to write a custom piece of software for it, or a shell script.

Here's a starting point for you: a bash script that clones from production to staging (for QA testing.)

http://pp19dd.com/2011/01/bash-script-to-mirror-wordpress-mu-installation-into-a-sandbox/

It's only a primer on how to move / clone databases, files, and make sure they actually work from one server to the other.

It's not a web interface, assumes mounted filesystems, and it does the opposite from what you want. However, it's a one-line command starting point for you, since it updates settings (URLs, database info, etc.)

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.