Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Automate WordPress deployment with WordMove
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
wtnabe
August 20, 2016
Programming
540
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Automate WordPress deployment with WordMove
WordMoveでWordPressサイトの自動deployができるよ。注意点と応用の話も。
wtnabe
August 20, 2016
More Decks by wtnabe
See All by wtnabe
Rubyでもモノリポしたい - 調査、おわわり編 -
wtnabe
0
57
Ruby de Railway Oriented Programming
wtnabe
0
100
Bindanのススメ
wtnabe
0
62
そのオブジェクト、何を保証してくれますか? - GuideRailのススメ -
wtnabe
0
77
Effective Jekyll
wtnabe
0
97
5 min Jekyll/Liquid Plugin cooking
wtnabe
0
63
Ruby de Wasm
wtnabe
0
93
Cloud Native Buildpacksって結局どうなの?
wtnabe
0
80
Decoupled System with Turbo Frame
wtnabe
1
180
Other Decks in Programming
See All in Programming
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2.8k
dRuby over BLE
makicamel
2
410
ローカルLLMでどこまでコードが書けるか -縮小版 / How much code can be written on a local LLM Shortened
kishida
2
170
PHPだって関数型したい 〜できること、できないこと〜 / fp-in-php
jsoizo
0
160
symfony/aiとlaravel/boost
77web
0
120
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
160
ランチタイムLT会3周年!ランチタイムLT会を3年間続けられたお話
y0hgi
1
130
SLOをサービス品質の共通言語にするために 取り組んできたこと
wakana0222
0
360
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
250
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
340
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
830
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Chasing Engaging Ingredients in Design
codingconduct
0
230
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
460
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
380
WCS-LA-2024
lcolladotor
0
670
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
220
Into the Great Unknown - MozCon
thekraken
41
2.6k
Odyssey Design
rkendrick25
PRO
2
730
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.6k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
Transcript
WordMoveで WordPressサイトの ⾃動deploy @wtnabe Kanazawa.rb meetup #48 2016-08-20 (Sat) at
IT Plaza MUSASHI
⾃⼰紹介 (ry
お品書き 悲しみのWordPress WordMove WordMove利⽤上の注意 応⽤ まとめ
悲しみのWordPress
WordPress使ってますか? 〜 悲しみに溢れたde facto standard 〜
悲しみ その1 環境構築がレガシー過ぎる Composerもフレームワークもない世界 DBパスワードも⽣書きが基本 どうやってバージョン管理しろと どうやってバージョン管理しろと
悲しみ その2 コンテンツがなぜかURL prefix⼊り ローカルの環境はあくまでベツモノ DBを書き換えるかhosts頼み 本番環境でテストするのが結局早い 本番環境でテストするのが結局早い
悲しみ その3 ファントムファイル前提のDB設計 『SQLアンチパターン』11章 deploy時にはファイルとDB両⽅必要 メンテナンスdownを避けがたい
悲しみ その4 HTML混⼊前提のDB設計
悲しみ その5 グローバルな状態に依存したコード群
などなど まだあるけどdeployの話から離れるので割愛
WordMove
Wordmove by welaika http://welaika.github.io/wordmove/ Capistrano for Wordpress
特徴 みんな⼤好きRuby製 ftp + photocopier gem || ssh + rsync
できること 複数のWordPress環境間で同期を⾏う 同期コンテンツの限定 DBの接続 / dump / restoreの⾃動化 URL prefixの⾃動書き換え
の⾃動書き換え
FTP support is planned to be discontinued
環境構築の問題以外は 解決するのでは?
よい点 DVCSっぽい語彙(push, pull) Rubyはremoteには不要 全体、テーマ、 全体、テーマ、DBなど個別に同期可能 など個別に同期可能
悪い点 外部コマンド(lftp, rsync)が必要 WordMove単体では動かない あくまでWordPressが(WordMoveか ら⾒て)localhostに必要 同期にしか使えない DBの⾃動backupには使えない
やること YAMLでWordPress環境を定義(Movefile) ホスト名、DB接続情報、除外対象 これをホストの数だけ増やせばよい erbサポートはあるけど後述
利⽤例 wordmove push -t -e staging localからstagingへthemesを同期 wordmove pull --all
-e production productionからlocalへすべて同期
WordMove利⽤上の注意
問題 v2.0時点 1. Movefileに秘密情報が⼊る 2. wordpress_pathが絶対パス 3. うっかりpush --allが怖い
回避策 1. ⾃前でDotenv ファイル名Movefile.erbは避ける 2. symbolic linkとか 3. ⾃前で定型化(1も合わせてRakeとか)
応⽤
CIからthemesだけdeploy
bundle installが必要
deployスクリプトが必要
localの準備 wordpress_pathの補正 sudo ln -s /path /var/www/wordpress wordmove実⾏時のパスの補正 cd /var/www/wordpress
wordmove push -t -e #{env}
remoteの準備 need ssh connection ssh host command cd /var/www/wordpress &&
wp-cli ex) Nginx Cache Controller
まとめ
結構便利 秘密情報の扱いには注意が必要 Capistranoを名乗るには弱い hookもrollbackもない 最後はWordPressの制限がつらい