Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Makalah
  • Ke-NU-an
  • Kabar
  • Search
Menu

Simple Automated WordPress Deployment Tool with Wordmove

Posted on November 14, 2016

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

Terbaru

  • Profil Farida Farichah, Wakil Menteri Koperasi Kabinet Merah Putih Reshuffle 17 September 2025
  • Ini Info Terbaru Pencairan BSU BPJS Ketenagakerjaan 2025!
  • Cara Reset Printer Epson L3110 2025
  • WhatsApp Tiba-tiba Keluar dan Meminta Verifikasi: Apa yang Harus Dilakukan?
  • Bisakah Saldo BNI Kamu Nol? Fakta dan Cara Mengatasinya
  • Inilah Tanda-tanda Chat Audio di Grup WhatsApp Sudah Disadap
  • Cara Mengatasi Tidak Bisa Live Instagram Karena Tidak Memenuhi Syarat
  • 7 Spek Laptop yang Ideal untuk Coding & Ngoding Web/App
  • Keuntungan dan Kerugian Menggunakan PayPal: Panduan Lengkap
  • Cara Menggunakan Stellarium Web
  • Cara Menghapus Data KTP Pribadi di Pinjol yang Belum Lunas
  • Cara Mengganti Nomor TikTok yang Tidak Aktif atau Hilang Tanpa Verifikasi
  • Cara Menggunakan BCA PayLater Terbaru 2025
  • Cara Mendapatkan IMPoint Indosat IM3 Ooredoo Gratis via MyIM3
  • Apa Arti TikTok ‘Shared With You’?
  • Cara Menghapus Data KTP di Pinjol: Panduan Lengkap
  • Cara Download WhatsApp GB Terbaru 2025 – Fitur Lengkap & Aman
  • Review WhatsApp Beta: Apakah Aman? Cara Instal dan Cara Keluar
  • Bebong: Makna, Asal Usul, dan Penggunaan dalam Bahasa Indonesia
  • Spinjam dan Spaylater: Apa yang Terjadi Jika Terlambat Membayar dan Bisakah Meminjam Lagi?
  • Cara Download dan Menonton Dood Stream Tanpa Iklan – Doods Pro
  • Cara Menghentikan dan Mengatasi Pinjol Ilegal
  • Kode Bank BRI untuk Transfer ke PayPal
  • Cara Menyadap WhatsApp Tanpa Aplikasi dan Kode QR
  • Apa yang Terjadi Jika Telat Bayar Shopee PayLater?
  • Telat Bayar Listrik 1 Hari: Apa yang Terjadi?
  • Cara Mengunduh Foto Profil WhatsApp Teman di Android, iPhone, dan PC/Mac
  • Rekomendasi Aplikasi Edit Foto Ringan Terbaik untuk PC Windows dan macOS
  • Cara Membeli Diamond Mobile Legends Menggunakan Pulsa Telkomsel
  • Tutorial Menggunakan Aplikasi Dana: Cara Top Up Dana dengan Mudah, Cepat, dan Murah untuk Pemula
  • Profil Farida Farichah, Wakil Menteri Koperasi Kabinet Merah Putih Reshuffle 17 September 2025
  • Ini Info Terbaru Pencairan BSU BPJS Ketenagakerjaan 2025!
  • Cara Reset Printer Epson L3110 2025

©2025 emka.web.id | Design: Newspaperly WordPress Theme