word bench7月号

64
VCCW + WP-CLI + WordMove でローカル開発とリモートの メンテナンスを楽にする

Upload: -

Post on 29-Jan-2018

74 views

Category:

Internet


0 download

TRANSCRIPT

Page 1: Word bench7月号

VCCW + WP-CLI + WordMove

でローカル開発とリモートの

メンテナンスを楽にする

Page 2: Word bench7月号

本日の内容• VCCW

• WP-CLI

• WordMove

• リモートからpullしてローカルで確認

Page 3: Word bench7月号

本日の内容• VCCW

• WP-CLI

• WordMove

• リモートからpullしてローカルで確認

Page 4: Word bench7月号

VCCWとは?

http://vccw.cc/

Page 5: Word bench7月号

VCCWとは?

開発者の宮内さん→ WP Tolal Hacksやその他プラグイン多数https://profiles.wordpress.org/miyauchi#content-plugins

Page 6: Word bench7月号

VCCWとは?

WP-CLIコミッターhttps://github.com/wp-cli

Page 7: Word bench7月号

• Vagrant + VirtualBox

• サクッと作れて、要らなくなったらサクッと削除

• 起動速い

• テーマ作成用などもある

vccw-team https://github.com/vccw-team

VCCWとは?

Page 8: Word bench7月号

• 現在のバージョン v3

• 起動が速くなった(vagrant up)

• プロビジョナがChefからAnsibleへ

• OSがCnetOSからUbuntuへ

• PHPが5.4から7.xへ

• Rubyが2.1から2.3へ

• Nodeが0.10から6.xへ

VCCW v3での変更点と新機能まとめ - Qiita http://qiita.com/miya0001/items/

041e9363ff81695a2251

VCCWとは?

Page 9: Word bench7月号

• Ubuntu 16.04 Xenial64 • Subversion • Git • jq

• WP-CLI & WordPress • WP-CLI • WordPress i18n Tools • WordPress Coding Standards for PHP_CodeSniffer

VCCWとは?• PHP 7 • PHPUnit • Composer • PHP_CodeSniffer

• MySQL 5.7.x • Apache 2.4.x • NodeJS latest

• Ruby 2.3

• Bundler

• Wordmove

• MailCatcher

http://vccw.cc/#h2-0

Page 11: Word bench7月号

本日の内容• VCCW

• WP-CLI

• WordMove

• リモートからpullしてローカルで確認

Page 12: Word bench7月号

WP-CLIとは?

http://wp-cli.org/ja/

Page 13: Word bench7月号

• WordPress を管理するためのコマンドラインツール

• プラグインのアップデートやマルチサイトのセットアップなどの多くのことをブラウザ無しで行うことができる

WP-CLIとは?

Page 14: Word bench7月号

• sshが利用できるサーバであれば、共用でもほぼ使える

• WordPressのあるディレクトリ以下で実行

• インストールも全然難しくない

• ローカル、リモート両方にあると更に便利

WP-CLIとは?

Page 15: Word bench7月号

• $ wp plugin install rest-api ̶activate

• $ wp theme activate twentyseventeen

• $ wp db export backup.sql

• $ wp search-replace “vccw.dev””vccw.com”̶export=production.sql

WP-CLIとは?

Page 16: Word bench7月号

• http://wp-cli.org/ja/#インストール方法↑↑上記の手順どおり

• 共用サーバへ設置する際の参考サイトレンタルサーバに『WP-CLI』をサクっと入れるシェルス

クリプト作ってみたよ ‒ 鉄王 https://

www.tecking.org/archives/4169

WP-CLIとは?

Page 17: Word bench7月号

• Rubyで作られたWordPress専用のデプロイツール

• Wordmove push, pullのシンプルなコマンド

• テーマ、プラグイン、DBなど個別に同期可能DBに関しては置換される

• ステージング、本番など、複数の環境と同期可能

• Movefileで設定(yamlファイルでシンプル)

WordMoveとは?

Page 18: Word bench7月号

$ wordmove help

Commands:

wordmove --version, -v # Print the version

wordmove help [COMMAND] # Describe available commands or one specific command

wordmove init # Generates a brand new Movefile

wordmove pull # Pulls WP data from remote host to the local machine

wordmove push # Pushes WP data from local machine to remote host

シンプルなコマンド

Page 19: Word bench7月号

$ wordmove help pull

Usage:

wordmove pull

Options:

-w, [--wordpress], [--no-wordpress]

-u, [--uploads], [--no-uploads]

-t, [--themes], [--no-themes]

-p, [--plugins], [--no-plugins]

シンプルなコマンド

-m, [--mu-plugins], [--no-mu-plugins]

-l, [--languages], [--no-languages]

-d, [--db], [--no-db]

-v, [--verbose], [--no-verbose]

-s, [--simulate], [--no-simulate]

-e, [--environment=ENVIRONMENT]

-c, [--config=CONFIG]

[--debug], [--no-debug]

[--no-adapt], [--no-no-adapt]

[--all], [--no-all]

Pulls WP data from remote host to the local machine

Page 20: Word bench7月号

• VCCWでプロジェクト作成

• Movefileを編集

• リモートからpull

• ローカルで確認

• ロリポップでやってみる

やってみる

Page 21: Word bench7月号

• VCCWでプロジェクト作成

• Movefileを編集

• リモートからpull

• ローカルで確認

• ロリポップでやってみる

やってみる

Page 22: Word bench7月号

やってみる

$ cd /Users/xxxx/Desktop && mkdir xxxx

プロジェクト作成(場所はどこでもOK今回はデスクトップ)

Page 23: Word bench7月号

やってみる• プロジェクトに移動してVCCWをダウンロード$ cd project && wget https://github.com/vccw-

team/vccw/releases/download/3.3.2/

vccw-3.3.2.zip

• zipファイルを解凍 $ unzip vccw-3.2.2.zip

Page 24: Word bench7月号

やってみる

Page 25: Word bench7月号

やってみる• vccw直下にprovision/default.ymlファイルをsite.ymlとしてコピーする

$ cp provision/default.yml site.yml

Page 26: Word bench7月号

やってみる• site.ymlを編集vim site.yml

エディタで開いて編集でOK!! 👍

Page 27: Word bench7月号

やってみる• site.ymlを編集vim site.yml

エディタで開いて編集でOK!! 👍

Page 28: Word bench7月号

やってみる#

# WordPress Settings

#

version: latest

lang: ja

title: Welcome to the VCCW

multisite: false

rewrite_structure: /archives/%post_id%

※ お好みで 😉

Page 29: Word bench7月号

やってみる#

# WordPress Path

#

wp_siteurl: 'wp' # Path to the WP_SITEURL like "wp"

wp_home: '' # Path to the WP_HOME like "wp"

#

# WordPress User

#

admin_user: admin

admin_pass: admin

admin_email: [email protected]

※ お好みで 😉

Page 30: Word bench7月号

やってみる#

# WordPress Database

#

db_prefix: wp_

db_host: 192.168.33.10 ← ホストマシンから操作できるようになる

db_name: wordpress

db_user: wordpress

db_pass: wordpress

※ お好みで 😉

Page 31: Word bench7月号

やってみる#

# WordPress Default Plugins

# Plugin's slug or url to the plugin's slug.

#

plugins: [] ← あらかじめインストールしておきたいプラグインを設定

#

# WordPress Default Theme

# Theme's slug or url to the theme's .zip.

#

theme: ‘’ ← デフォルトテーマを設定したい時

※ お好みで 😉

Page 32: Word bench7月号

やってみる#

# WordPress Options

#

options:

blogdescription: Hello VCCW.

#

# WordPress Multisite Options ← マルチサイトの設定

#

multisite_options: {}

※ お好みで 😉

Page 33: Word bench7月号

やってみる#

# The values of wp-config.php ← wp-config.phpの設定

#

force_ssl_admin: false

wp_debug: true

savequeries: false

#

# Addtional PHP code in the wp-config.php

#

extra_wp_config: ¦

// Addtional PHP code in the wp-config.php

// These lines are inserted by VCCW.

// You can place addtional PHP code here!

※ お好みで 😉

Page 34: Word bench7月号

やってみる#

# Theme unit testing ← テーマユニットテストデータの設定

# 日本語のテストデータに変更も可能

#

theme_unit_test: false

theme_unit_test_uri: https://raw.githubusercontent.com/WPTRT/

theme-unit-test/master/themeunittestdata.wordpress.xml

# theme_unit_test_uri: https://raw.githubusercontent.com/

jawordpressorg/theme-test-data-ja/master/wordpress-theme-

test-date-ja.xml

※ お好みで 😉

Page 35: Word bench7月号

やってみる#

# DB will be reset when provision ← プロビジョニングした際DBをリセットするかど

うか

#

reset_db_on_provision: true

#

# RubyGems

# Wordmove will be forcibly installed.

#

ruby_gems:

- bundler

- wordmove ← WordMove

※ お好みで 😉

Page 36: Word bench7月号

やってみるmailcatcher: true ← 開発環境でメールの確認可能

wp_i18n_tools: true

#

# NPM modules

#

npms: []

※ お好みで 😉

Page 37: Word bench7月号

やってみる#

# composer

#

composers:

- phpunit/phpunit:5.6 ← PHPUnit

- squizlabs/php_codesniffer:̃2.0 ← phpcs

- wp-coding-standards/wpcs:* ← WordPressコーディングスタンダード

# - phpmd/phpmd:*

# - sebastian/phpcpd:*

# - phploc/phploc:*

# - phing/phing:*

※ お好みで 😉

Page 38: Word bench7月号

やってみる#

# wp-cli package commands ← パッケージコマンド追

#

wp_cli_packages:

- vccw/wp-cli-scaffold-movefile:@stable

※ お好みで 😉

Page 39: Word bench7月号

やってみる#

# Linked Clone for Vagrant v1.8

#

linked_clone: false

↑↑trueにすると、ディスク使用量を減らせる

一つのマスターからその差分をディスクイメージとして保存

する。

※ お好みで 😉

Page 40: Word bench7月号

やってみる#

# PHP ini values ← php.ini

#

php_ini:

date.timezone: UTC

default_charset: UTF-8

mbstring.language: neutral

mbstring.internal_encoding: UTF-8

post_max_size: 1024M # Same with VVV

short_open_tag: Off

session.save_path: /tmp

upload_max_filesize: 1024M # Same with VVV

xdebug.remote_enable: true

xdebug.remote_host: 127.0.0.1

xdebug.remote_port: 9000

xdebug.profiler_enable: true

xdebug.idekey: VCCWDEBUG

xdebug.remote_connect_back: true

xdebug.remote_autostart: true

synced_folder: wordpress ← ホストマシンとファイルを共有・同期

document_root: /var/www/html ← ドキュメントルート

※ お好みで 😉

Page 41: Word bench7月号

やってみる• Site.ymlの編集が終わったら保存

• ターミナルでプロジェクトのvccwディレクトリへ移動※ 今回の場合

$ cd /Users/xxxx/Desktop/private-hibou-vccw-test/vccw

$ vagrant up

Page 42: Word bench7月号

やってみる• 構築中……

Page 43: Word bench7月号

やってみる• 環境で若干変化はあるが、初回起動に7分27秒 ⏳

Page 44: Word bench7月号

やってみる• hostnameでアクセス

Page 45: Word bench7月号

• VCCWでプロジェクト作成

• Movefileを編集

• リモートからpull

• ローカルで確認

• ロリポップでやってみる

やってみる

Page 46: Word bench7月号

やってみる• Movefileができあがっている

Page 47: Word bench7月号

やってみる• Movefileが作成されている(site.ymlの設定は反映されている)

Page 48: Word bench7月号

やってみる• リモート(ステージング・本番など)を設定する

Page 49: Word bench7月号

やってみる• ゲストマシンにログインする$ vagrant ssh

Page 50: Word bench7月号

やってみる• Movefileのあるディレクトリへ移動(synced_folder) $ cd /vagrant

Page 51: Word bench7月号

• リモートからpullする- テーマ

- uploads

- プラグイン

- データベース

$ wordmove pull -tupd

やってみる

Page 52: Word bench7月号

やってみる• リモートからどどーーっとダウンロード中……(同期)

Page 53: Word bench7月号

• VCCWでプロジェクト作成

• Movefileを編集

• リモートからpull

• ローカルで確認

• ロリポップでやってみる

やってみる

Page 54: Word bench7月号

やってみる• 同期完了 😀

Page 55: Word bench7月号

やってみる• pull, pushする際、pull時はローカルに、push時はリモートのwp-content配下にDBのバックアップができる 😍

Page 56: Word bench7月号

• VCCWでプロジェクト作成

• Movefileを編集

• リモートからpull

• ローカルで確認

• ロリポップでやってみる

やってみる

Page 57: Word bench7月号

ロリポップでssh• スタンダードプラン、エンタープライズプランで利用できるぽい

Page 58: Word bench7月号

• VCCW + WP-CLI + WordMoveは、ローカルから操作する(サーバにログインしてダウンロードして…とかはやらない)

• WordMoveでは

• テーマ

• プラグイン

• 画像(uploads)

• DBはssh -tでWP-CLIを使ってDBをエクスポート

• scpでダウンロード

• ローカルでwp search-replace使って置換

ロリポップでやってみる

Page 59: Word bench7月号

• ssh nickname -t "cd web/ && ̃/bin/wp db export backup.sql" && scp Host:/path/to/wordpress/

backup.sql . && cd wordpress && wp db import ../

backup.sql && wp search-replace 'old(remote)'

'new(local)'

ロリポップでやってみる

Page 60: Word bench7月号

• 実演

ロリポップでやってみる

Page 61: Word bench7月号

• 一度作っておくとミスがない

• コンパネでphpMyAdminログインして、DBエクスポートしてダウンロードして……( ꒪⌓꒪)

• プロジェクト毎にfrom_remote_backup_db.shとか用意しておくと便利

ロリポップでやってみる

Page 62: Word bench7月号

• サーバ側にもWP-CLI必要

• sshは公開鍵認証でログインできるようにしておくとパスワード要らない(作業が一度で済む)

• ssh config用意しておくと便利

• 実行するだけだからとにかく楽!!

ロリポップでやってみる

Page 63: Word bench7月号

質問

Page 64: Word bench7月号

ありがとうございました!!