WordPress Deployment

Maybe the hardest part of the WordPress workflow: deployment from a local server to a remote server.

Some ideas and tricks I found around the web.

Mark Jaquith: Scaling, Servers, and Deploys — Oh My!

  • Put everything in the repo (not just the theme)
  • His ideal:
    – WordPress in a subdirectory
    – index, wp-config, themes and plugins in root. Ignore uploads (.gitignore)
    markjaquith_slides1
  • Local development:
    – WAMP etc
    – etc/hosts to point your domain to a local directory
    – local-config.php:

markjaquith_slide2

(Use WP_LOCAL_DEV in other tasks that are different for the live server and the local installation (such as backups etc))

  • Capistrano: written in Ruby.
    – gem install capistrano
    – gem install railsless-deploy (strip out rails stuff)
    – gem install capistrano-ext (use for multi-stage extension (push to stage instead of live etc)
  • Directory