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
wtnabe
August 20, 2016
Programming
1
420
Automate WordPress deployment with WordMove
WordMoveでWordPressサイトの自動deployができるよ。注意点と応用の話も。
wtnabe
August 20, 2016
Tweet
Share
More Decks by wtnabe
See All by wtnabe
Decoupled System with Turbo Frame
wtnabe
1
49
join-kanazawarb-or-7years-passed-since-it-was-borned
wtnabe
0
680
let-me-edit-with-editor
wtnabe
0
250
google-photos-and-storage-and-rclone
wtnabe
0
330
one case of how to begin vuejs
wtnabe
2
380
Kanazawa.rb meetup #56 Coderetreat Intro
wtnabe
0
360
lightweight authenticity of microservices
wtnabe
0
380
CircleCI Hands-on for Beginners
wtnabe
0
390
Introducing Todays CI Services
wtnabe
0
290
Other Decks in Programming
See All in Programming
CSC307 Lecture 09
javiergs
PRO
1
500
3 Effective Rules for Success with Signals in Angular
manfredsteyer
PRO
0
120
Rustのweb開発を助ける 便利なツール紹介
yuki0418
1
190
Activities at Cairo Library
cairolibrary720
0
1.2k
開発部に不満を持っていたCSがエンジニアにジョブチェンしてわかった「勝手に諦めない」ことの大切さ
sakuraikotone
28
16k
Javaの現状2024夏 / Java current status 2024 summer
kishida
4
1.4k
CSC307 Lecture 14
javiergs
PRO
0
220
【Go言語】ジェネリクス
tomo1227
0
170
Play Billing Library 7.0.0 変更点まとめ@potatotips#88
kako351
0
160
Exploring the Gradually Lost Technical Skills in the Cloud Native Era
hwchiu
2
3.9k
ぼっちを避けて楽しむためのアノテコノテ / Various Tips and Tricks to Avoid Loneliness and Have Fun
nrslib
3
1.7k
Architectures with Lightweight Stores: New Rules and Options
manfredsteyer
PRO
0
100
Featured
See All Featured
Debugging Ruby Performance
tmm1
71
11k
Fantastic passwords and where to find them - at NoRuKo
philnash
42
2.7k
Agile that works and the tools we love
rasmusluckow
325
20k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
189
16k
WebSockets: Embracing the real-time Web
robhawkes
59
7.2k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
[RailsConf 2023] Rails as a piece of cake
palkan
35
4.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
149
45k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
Code Reviewing Like a Champion
maltzj
517
39k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
13
430
We Have a Design System, Now What?
morganepeng
46
7k
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の制限がつらい