Open hysryt opened 6 years ago
各種設定はmovefile.yml
に記述する
wordmove init
で雛形を作成できる
$ wordmove init
production
セクションにwordpress_path
とwordpress_absolute_path
が必要。
wordpress_path
はFTP接続時の絶対パス、wordpress_absolute_path
はサーバー上での絶対パス。production.wordpress_absolute_path
を local.wordpress_path
に置換する。この時関係ないデータも変換される場合があるので注意が必要。
wordpress_absolute_path
に適当な文字を入れとけば置換されずにすむ。sql_adapter が default の場合
source_path = source_config[:wordpress_absolute_path] || source_config[:wordpress_path]
dest_path = dest_config[:wordpress_absolute_path] || dest_config[:wordpress_path]
replace_field!(source_path, dest_path)
sql_adapter が wpcli の場合、wordpress_absolute_path
は無視して wordpress_path
同士を置換する
なので絶対パスの置換を無効にする場合、sql_adapter
を default
にし、local
と production
の wordpress_absolute_path
を十分長いランダムな文字列にする
global:
sql_adapter: default
local:
vhost: http://192.168.0.30/wordpress
wordpress_path: /Library/WebServer/Documents/wordpress
database:
name: データベース名(ローカル)
user: ユーザ名(ローカル)
password: パスワード(ローカル)
host: ホスト名(ローカル)
production:
vhost: http://xxx.com
wordpress_path: /
wordpress_absolute_path: /web/xxx # サーバー上の絶対パス
database:
name: データベース名(リモート)
user: ユーザ名(リモート)
password: パスワード(リモート)
host: ホスト名(リモート)
exclude:
- .git/
- .gitignore
- .sass-cache/
- node_modules/
- bin/
- tmp/*
- Gemfile*
- Movefile
- movefile
- movefile.yml
- movefile.yaml
- wp-config.php
- wp-content/*.sql.gz
- .DS_Store
- .htaccess
- xxx/src/ # テーマのソースファイル
ftp:
user: FTPユーザ名
password: FTPパスワード
host: FTPホスト名
passive: true
scheme: ftp
exclude
セクションの指定方法がいまいち不明(wp-content/themes/xxx/src/
ではなくxxx/src/
)vhost
には最後のスラッシュは不要
DB内に出てくるlocal
セクションのvhost
とproduction
セクションのvhost
を置換してくれる$ wordmove push --all
--all
オプションでDBのデータとWordPress全てのファイルをデプロイできる。
二度目以降は差分がデプロイされる模様。
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]
wp-config.php
、.htaccess
は開発環境と本番環境で異なるので個別でアップロードした方が良い
(最初にアップロードしてしまえば、ファイルを消さない限りそれが使用される)movefile.yml の vhost
に siteurl を設定する。
wp-config.php で home を設定する。
例:wp
ディレクトリに WordPress を設置する場合
# home : http://localhost
# site_url : http://localhost/wp
local:
vhost: http://localhost/wp
wordpress_path: /var/www/html/wp
Wordmove 3.0 以降では production セクションに forbid セクションを追加できるようになった。 forbid セクションを設定することで pull や push アクションを禁止させることができる。
production:
forbid:
push:
db: false
plugins: false
themes: false
languages: false
uploads: false
mu-plugins: false
pull:
db: false
plugins: false
themes: false
languages: false
uploads: false
mu-plugins: false
true
で禁止、false
で許可する。(つまり上の例では全て許可となる)
デフォルト値が false
なため、true
にしたい項目だけ記述すれば良い。
true
に設定した項目を pull または push しようとすると以下のように Warning が発生し、実行されない。
▬▬ Pushing Db ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
⚠️ warning | You tried to push db, but is forbidden by configuration. Skipping
ローカルのWordPressをリモートにデプロイする(その逆も可能) https://github.com/welaika/wordmove