Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Wordmove, multistaging deploy for WordPress

1a45b192d0bbaf167afb43a41859e313?s=47 Ju Liu
September 13, 2013

Wordmove, multistaging deploy for WordPress


Wordmove is a nice little gem that lets you automatically mirror local Wordpress installations and DB data back and forth from your local development machine to the remote staging server. SSH and FTP connections are both supported.

Think of it like Capistrano for Wordpress, complete with push/pull capabilities.

Here are the videos in this talk:


Ju Liu

September 13, 2013

More Decks by Ju Liu

Other Decks in Programming


  1. WORDMOVE @Pioneer_Skies @delphaber WP Day 13/09/13

  2. To install, test and implement a computer system or application.

    DEPLOY /dɪˈplɔɪ/
  3. ✓ 46% freelancer ✓ 78% uses FTP for deploying ✓

    76% worked live on production ✓ No common approach for database via Smashing Magazine | http://bit.ly/1atrWRp WordPress usage
  4. Bad habits Manual tasks

  5. Good habits Automation

  6. Bad habits No conventions

  7. Shared practices Good habits

  8. Bad habits Late deploy & Live coding

  9. Deploy early, deploy often Good habits

  10. None
  11. None
  12. wordmove

  13. $ gem install wordmove $ cd ~/dev/blog $ wordmove init

  14. Movefile local: vhost: "http://wpday.local" wordpress_path: "/home/welaika/sites/wpday.local" database: name: "wpday" user:

    "root" password: "root" host: "localhost" remote: vhost: "http://wpday.welaika.com" wordpress_path: "/var/www/wpday.welaika.com" database: name: "wpday" user: "welaika" password: "p4ssw0rd" host: "localhost" ssh: user: "welaika" password: "sshpass" host: "mt.welaika.com”
  15. Is SSH an expensive dream? Keep calm and use FTP.

    It is supported as well :)
  16. Let’s move your code

  17. $ wordmove push --all

  18. None
  19. $ wordmove push -t

  20. None
  21. $ wordmove help push Usage: wordmove push Options: -w, [--wordpress]

    -u, [--uploads] -t, [--themes] -p, [--plugins] -l, [--languages] -d, [--db] -v, [--verbose] -s, [--simulate] -e, [--environment=ENVIRONMENT] -c, [--config=CONFIG] [--no-adapt] [--all]
  22. Multistage

  23. Movefile local: vhost: "http://wpday.local" wordpress_path: "/home/welaika/sites/wpday.local" database: [...] demo: vhost:

    "http://wpday.demo.welaika.com" wordpress_path: "/var/www/wpday.demo.welaika.com" database: [...] ftp: [...] production: vhost: "http://wpday.welaika.com" wordpress_path: "/var/www/wpday.welaika.com" database: [...] ssh: [...]
  24. $ wordmove push -t -e [demo | production]

  25. Case study

  26. Local ✓ Where you are developing Demo ✓ Where your

    customer is doing data entry Production ✓ Where the site is on air Case study
  27. $ wordmove pull -du -e demo

  28. None
  29. Problem fixed! ✓ Push to the customer’s stage for review:

    $ wordmove push -t -e demo Customer approved! ✓ Go live with your site $ wordmove push -tud -e production Case study
  30. $ wordmove help pull Usage: wordmove pull Options: -w, [--wordpress]

    -u, [--uploads] -t, [--themes] -p, [--plugins] -l, [--languages] -d, [--db] -v, [--verbose] -s, [--simulate] -e, [--environment=ENVIRONMENT] -c, [--config=CONFIG] [--no-adapt] [--all]
  31. Good to know! ✓ DB serialized arrays translation (cForms anyone?)

    ✓ DB deploy over FTP? Yes, we can! ✓ Invoke wordmove from anywhere in your project tree
  32. WORDMOVE ✓ Fully automated, only one command to deploy ✓

    Frequent and fast deploy... on multiple environments ✓ Push and pull operations ✓ If it doesn’t work, than fix it!
  33. ✓ Alessandro Fazzi @Pioneer_Skies ✓ Fabrizio Monti @delphaber ✓ weLaika

    dev.welaika.com http://github.com/welaika/wordmove QUESTIONS! Open Source