Upgrade to Pro — share decks privately, control downloads, hide ads and more …

WordPressのローカルステージング環境を作ってみたお話です

 WordPressのローカルステージング環境を作ってみたお話です

※初版です。後日図版を差し替えるかも。

概要
・はじめに
・著者紹介
・ステージング環境?
・えっ? ローカルで...?
・DEMO
・なぜ作ったのか?
・どうやって作るのか?
・いったいどうなってしまうのか?
・エピローグ

そしてこれはステージング環境を作ってみた一例です。
改善点もたくさんあったり、
他にももっと良い方法もあるはずです。いろいろ試してみてください。

#wpmeetupkyoto
2018年12月22日土曜日
[京都] Kansai WordPress Meetup #2 @京都「今年もお疲れ様でした会」
https://www.meetup.com/ja-JP/Kansai-WordPress-Meetup/events/256617154

覆面くん Deprecated

December 22, 2018
Tweet

More Decks by 覆面くん Deprecated

Other Decks in Technology

Transcript

  1. 著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ
    WordPress 魔改道
    ローカルでステージング環境 を
    作ってみたお話です の巻
    年末特別企画!!
    覆面くんの反省ノート 第四編 失敗失敗マジ失敗の項より抜粋
    #wpmeetupkyoto 京都#2 2018年12月22日
    まかいみち
    ※これはステージング環境を作ってみた一例です。
    改善点もたくさんあったり、
    他にももっと良い方法もあるはずです。いろいろ試してみてください。

    View full-size slide

  2. 著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ
    2018年12月22日
    #wpmeetupkyoto 京都#2
    2
    今日のお話
    著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ

    View full-size slide

  3. 著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ
    2018年12月22日
    #wpmeetupkyoto 京都#2
    3
    著者紹介
    ● 世間のデジタルカルチャー推進を使命とした国宝級フリーランス。
    ソフトウェア開発者を自称している。
    ● 直近の主な活動
    – WordCamp Ogijima 2018 実行委員
    – WordCamp Osaka 2018 実行委員
    – openSUSE.Asia Summit 2017 Tokyo 実行委員
    世界第50位の大きさを誇る島、四国から来ました
    ジャンプ大好き覆面くんです。
    openSUSEというLinuxを使って働いています。
    https://jumpbookstore.com

    View full-size slide

  4. 著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ
    2018年12月22日
    #wpmeetupkyoto 京都#2
    4
    ステージング環境?

    View full-size slide

  5. 著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ
    2018年12月22日
    #wpmeetupkyoto 京都#2
    5
    ステージング環境?
    ステージング環境とは
    システム開発におけるステージングの
    段階で確認に用いられる環境のことで
    ある。
    weblio調べ
    https://www.weblio.jp/content/ステージング環境

    View full-size slide

  6. 著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ
    2018年12月22日
    #wpmeetupkyoto 京都#2
    6
    ステージング環境?
     スナップショット単位で世代毎に
    バックアップが出来る
     アップデートを検証するテスト環境
     テストが完了したデータを公開先に
    リリースする事が出来る
    さくらのレンタルサーバの場合

    View full-size slide

  7. 著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ
    2018年12月22日
    #wpmeetupkyoto 京都#2
    7
    ステージング環境?
    図解:
    これがたぶん
    WordPressだ!
    WordPress
    データベース
    Webサーバ
    インターネット
    更新、運用、開発
    ようこそわたしの
    ホームページへ
    スマホ、タブレット
    ブラウザ
    Linux,Mac,
    Windows

    View full-size slide

  8. 著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ
    2018年12月22日
    #wpmeetupkyoto 京都#2
    8
    ステージング環境?
    図解:
    これがたぶん
    ステージングだ!
    WordPress
    データベース
    公開用Webサーバ







    更新、運用、開発
    Linux,Mac,
    Windows
    WordPress
    データベース
    ステージング環境

    View full-size slide

  9. 著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ
    2018年12月22日
    #wpmeetupkyoto 京都#2
    9
    えっ? ローカルで... ?

    View full-size slide

  10. 著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ
    2018年12月22日
    #wpmeetupkyoto 京都#2
    10
    えっ? ローカルで?
    WordPress
    データベース
    Webサーバ
    インターネット
    更新、運用、開発
    Linux,Mac,
    Windows
    データベース
    開発環境
    WordPress
    ステージング環境
    図解:
    これでたぶん
    ステージングだ!

    View full-size slide

  11. 著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ
    2018年12月22日
    #wpmeetupkyoto 京都#2
    11
    えっ? ローカルで?
    ローカルだとこんなにお得!
    ● HDDやブルーレイなど外部ディスクにバック
    アップファイルをドカンドカン保存できる
    ● さくらのレンタルサーバじゃなくてもOK
    ● さくらのレンタルサーバのほうが多分お得!

    View full-size slide

  12. 著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ
    2018年12月22日
    #wpmeetupkyoto 京都#2
    12
    D E M O
    1.ステージング環境と公開環境を比較する
    2.公開環境を再現する
    3.バックアップする
    4.アップデートする
    5.公開環境をアップロード(デプロイ)する
    6.ウへっ...? リストアする

    View full-size slide

  13. 著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ
    2018年12月22日
    #wpmeetupkyoto 京都#2
    13
    おわかりいただけただろうか?

    View full-size slide

  14. 著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ
    2018年12月22日
    #wpmeetupkyoto 京都#2
    14
    なぜ作ったのか?

    View full-size slide

  15. 著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ
    2018年12月22日
    #wpmeetupkyoto 京都#2
    15
    なぜ作ったのか?
    潜在的欲求の働き
    管理サイトのアップデートや
    バックアップを
    もっとスマートにしたい

    View full-size slide

  16. 著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ
    2018年12月22日
    #wpmeetupkyoto 京都#2
    16
    なぜ作ったのか?
    突然のきっかけ
    Wocker 1.3 から
    Wordmove搭載に!
    Wocker: WordPressのローカル開発環境の1つ
    Wordmove: WordPressをあっちからこっちにMove
           する便利なアプリケーション

    View full-size slide

  17. 著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ
    2018年12月22日
    #wpmeetupkyoto 京都#2
    17
    なぜ作ったのか?
    そして閃き
    これを
    こうして
    こうじゃ!!
    Wocker
    Wordmove
    外部Disk

    View full-size slide

  18. 著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ
    2018年12月22日
    #wpmeetupkyoto 京都#2
    18
    どうやって作るのか?

    View full-size slide

  19. 著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ
    2018年12月22日
    #wpmeetupkyoto 京都#2
    19
    どうやって作るのか?
    今回の前提
    ● 開発環境がWockerであること
    ● 公開先とSSH接続ができること
    ● 開発環境と公開先のどちらも同
    じプラグイン構成で動くように
    調整すること

    View full-size slide

  20. 著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ
    2018年12月22日
    #wpmeetupkyoto 京都#2
    20
    どうやって作るのか?
    図解:
    これがたぶん
    Wockerだ!
    複数のWordPress環境を
    (インスタンス)
    簡単に作れるぞ
    仮想環境で動作しているぞ
    wocker.testに
    ブラウザからアクセスだ

    View full-size slide

  21. 著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ
    2018年12月22日
    #wpmeetupkyoto 京都#2
    21
    どうやって作るのか?
    図解:
    これがたぶん
    SSHだ!
    暗号化された通信
    WordPress
    データベース
    Webサーバ
    コマンドを送信できるぞ
    更新、運用、開発
    Linux,Mac,
    Windows

    View full-size slide

  22. 著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ
    2018年12月22日
    #wpmeetupkyoto 京都#2
    22
    どうやって作るのか?
    図解:
    これがたぶん
    Wordmoveだ!
    WordPress
    データベース
    Webサーバ
    異なる2つのWordPress間で
    全てまたは一部のデータを
    同期することができるぞ
    WordPress
    データベース
    Webサーバ
    PUSH
    PULL

    View full-size slide

  23. 著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ
    2018年12月22日
    #wpmeetupkyoto 京都#2
    23
    どうやって作るのか?
    大まかな手順
    1.Wockerでステージング用の
    インスタンスを作成
    2.SSHの接続設定
    3.Wordmoveの初期化と接続設定
    4.アップデートスクリプト作成

    View full-size slide

  24. 著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ
    2018年12月22日
    #wpmeetupkyoto 京都#2
    24
    いったいどうなってしまうのか?

    View full-size slide

  25. 著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ
    2018年12月22日
    #wpmeetupkyoto 京都#2
    25
    いったいどうなってしまうのか?
    用法1.
    公開先のデータを取得
    ・Wordmoveで pull します

    View full-size slide

  26. 著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ
    2018年12月22日
    #wpmeetupkyoto 京都#2
    26
    いったいどうなってしまうのか?
    用法2.
    バックアップ
    ● WP-CLIでデータベースを書き出
    します
    ● インスタンスのディレクトリを
    アーカイブ化します

    View full-size slide

  27. 著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ
    2018年12月22日
    #wpmeetupkyoto 京都#2
    27
    いったいどうなってしまうのか?
    用法3.
    アップデート
    ● アップデートスクリプトを実行
    ● ログの取得
    ● 動作チェック

    View full-size slide

  28. 著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ
    2018年12月22日
    #wpmeetupkyoto 京都#2
    28
    いったいどうなってしまうのか?
    用法4.
    公開先にデータを反映
    ・Wordmoveで push します

    View full-size slide

  29. 著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ
    2018年12月22日
    #wpmeetupkyoto 京都#2
    29
    エピローグ
    -まとめ-
    ここから先は、
    ぜひ
    キミたちの手でまとめてみてくれ!!
    時間の都合により著者まとめを省略致します。
    ご了承ください。

    View full-size slide

  30. 著者紹介
    ステージング環境?
    えっ? ローカルで...?
    DEMO
    なぜ作ったのか?
    どうやって作るのか?
    いったいどうなってしまうのか?
    エピローグ
    ご清聴ありがとうございました
    ひきつづき
    忘年会(酒を飲んで乱舞する行事)を お楽しみ下さい
    #wpmeetupkyoto 京都#2 2018年12月22日

    View full-size slide