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
Automate WordPress deployment with WordMove
WordMoveでWordPressサイトの自動deployができるよ。注意点と応用の話も。
wtnabe
August 20, 2016
More Decks by wtnabe
See All by wtnabe
Rubyでもモノリポしたい - 調査、おわわり編 -
wtnabe
0
43
Ruby de Railway Oriented Programming
wtnabe
0
87
Bindanのススメ
wtnabe
0
54
そのオブジェクト、何を保証してくれますか? - GuideRailのススメ -
wtnabe
0
71
Effective Jekyll
wtnabe
0
93
5 min Jekyll/Liquid Plugin cooking
wtnabe
0
56
Ruby de Wasm
wtnabe
0
87
Cloud Native Buildpacksって結局どうなの?
wtnabe
0
70
Decoupled System with Turbo Frame
wtnabe
1
170
Other Decks in Programming
See All in Programming
〜バイブコーディングを超えて〜 チームで実験し続けたAI駆動開発
tigertora7571
0
180
Liberating Ruby's Parser from Lexer Hacks
ydah
2
2.4k
How We Practice Exploratory Testing in Iterative Development( #scrumniigata ) / 反復開発の中で、探索的テストをどう実施しているか
teyamagu
PRO
3
420
WebAssembly を読み込むベストプラクティス 2026年春版 / Best Practices for Loading WebAssembly (Spring 2026)
petamoriken
5
1k
属人化しないコード品質の作り方_2026.04.07.pdf
muraaano
0
290
HTML-Aware ERB: The Path to Reactive Rendering @ RubyKaigi 2026, Hakodate, Japan
marcoroth
0
580
「話せることがない」を乗り越える 〜日常業務から登壇テーマをつくる思考法〜
shoheimitani
4
950
PHPer、Cloudflare に引っ越す
suguruooki
1
130
Structured Concurrency, Scoped Values and Joiners in the JDK 25 26 27
josepaumard
1
130
ハーネスエンジニアリングとは?
kinopeee
13
6.6k
Surviving Black Friday: 329 billion requests with Falcon!
ioquatix
0
2.5k
2026年のソフトウェア開発を考える(2026/05版) / Software Engineering Scrum Fest Niigata 2026 Edition
twada
PRO
19
8.9k
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
187
22k
Skip the Path - Find Your Career Trail
mkilby
1
110
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
A Tale of Four Properties
chriscoyier
163
24k
Building the Perfect Custom Keyboard
takai
2
740
Prompt Engineering for Job Search
mfonobong
0
290
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
110
The World Runs on Bad Software
bkeepers
PRO
72
12k
Navigating Weather and Climate Data
rabernat
0
180
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Deep Space Network (abreviated)
tonyrice
0
130
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の制限がつらい