Skip to content

emka.web.id

Menu
  • Home
  • Indeks Artikel
  • Tutorial
  • Tentang Kami
Menu

Simple Automated WordPress Deployment Tool with Wordmove

Posted on November 14, 2016 by Syauqi Wiryahasana
Deploying WordPress site from local server to upstream can be stressful. Especially when you're battling with local article, specific permalink etc etc. Of course you can use Jenskins, Beanstalk, Deploy and any automation tool you like. On this article we will focusing on simple yet powerful deployment tool, Wordmove. Wordmove is basically just a simple Ruby package that can help you fast and easy enough to deploy WordPress website. As declared in their Github Repo, Wordmove is just like a 'Capistrano for WordPress'. Wordmove is supporting complete push and pull capabilities, for any aspect of your WordPress website like themes, plugin, upload, and even the database itself. To be more clear to you, if you familiar enough with Github, we can think of Wordmove as Git, and our remote WordPress server acting as our Github repo and our local WordPress installation as the local cloned fork of that repo.

Installing Wordmove

To using Wordmove you must have Ruby installed. For OS X user you can just skip this part and begin installing wordmove (OS X is already packaging Ruby as one of their native Library). For Windows/Linux user you can install Ruby first. to install Wordmove, you can use gem command: [sourcecode]gem install wordmove[/sourcecode] and you also need 'rsync' if you using Wordmove with SSH Support and lftp if you choose to run Wordmove in FTP mode (both can easy enough to install with YUM/Apt-get or Brew).

Begining Journey with Wordmove

First step, we have to generate Movefile, a file that readed by Wordmove as their automation configuration for specific Wordpress website. You can generate this file with: [sourcecode]wordmove init[/sourcecode] in your local WordPress directory. A new file called 'Movefile' will be generated. Its just a simple YAML file, like this one: [sourcecode] local: vhost: "http://vhost.local" wordpress_path: "/home/john/sites/your_site" # use an absolute path here database: name: "database_name" user: "user" password: "password" host: "127.0.0.1" # paths: # you can customize wordpress internal paths # wp_content: "wp-content" # uploads: "wp-content/uploads" # plugins: "wp-content/plugins" # themes: "wp-content/themes" # languages: "wp-content/languages" production: vhost: "http://mywordpressexample.com" wordpress_path: "/var/www/mywordpressexample" # use an absolute path here database: name: "database_name" user: "user" password: "password" host: "host" exclude: - ".git/" - ".gitignore" - "bin/" - "tmp/*" - "Gemfile*" - "Movefile" - "wp-config.php" - "wp-content/*.sql" ssh: host: "host" user: "user" [/sourcecode] Next step of course, you need to push those local installation to staging/production server. You just need to run this command: [sourcecode]wordmove push --all[/sourcecode] and some basic command like Pulling from remote is just simple as this command: [sourcecode]wordmove pull -dbu[/sourcecode] where -dbu stands for database and upload. you can also specifically pushing specific folder like themes folder, upload folder, plugins folder or just push fresh database. Just use one of this options: [sourcecode] -t for themes, -u for uploads/media, -p for plugins, -d for database [/sourcecode] to only push to specific environment (like staging or production server) you can use -e option. [sourcecode]wordmove push -e staging -d[/sourcecode] *) push database wordpress to staging environment Reading source: Github
Seedbacklink

Recent Posts

TENTANG EMKA.WEB>ID

EMKA.WEB.ID adalah blog seputar teknologi informasi, edukasi dan ke-NU-an yang hadir sejak tahun 2011. Kontak: kontak@emka.web.id.

©2024 emka.web.id Proudly powered by wpStatically