とある Slack にて「wppusher を推したい」という声があって、何ぞそれと思って調べて使ってみる。
wordpress のインストールはここに書きません。
なお、この文章は、2019/01/02 前後で実際に作業した情報を元に書いています。gitlab は頻繁に機能追加をするので、翻訳が追いついていなかったり、設定画面が移動していたりしますので、ちょっとだけ注意してください。
WP Pusher とは
wordpress のプラグインやテンプレートを作成/変更をした時に git push
をしますが(するよね?)、 git push
した時にインストールしている wordpress のサイトが自動更新をするプラグインです。
これ使えば ftp/sftp とか使わなくてもよくなるので、サーバ管理者としては ftp アカウントや ssh ログインできるアカウントを設定しなくても良いんじゃねと思ったのがこれを書くきっかけ。
料金プランはライセンス制であり、public repository だけ を使う分には無料、プライベートリポジトリを使った 5つまでのサイトを管理するなら $99/y、プライベートリポジトリを使った20までのサイトを管理するなら $199/y といった感じです。
こちらの試した構成は、リポジトリホスティングを Gitlab.com、動くテンプレートのソースコードをリポジトリに一度は push 済み、wordpress は自前で環境構築したところです。
前準備
- リポジトリURLは
https://gitlab.com/at_yasu/worldpress-template
としてあり、すでにある程度出来上がっているソースがあるものとします。リポジトリの公開設定はpublic repository
にしています。別に隠すものでもないし。
今回は public repository なので private token の設定はしません。
インストールと設定
-
wppusher のページからプラグインファイルをダウンロードして、wordpress の plugin として、ダウンロードした zip ファイルをアップロードします。
ユーザ登録などが無い理由はよくわからん。プライベートリポジトリを使ったらメール通知で来るんやろか。
Install New Theme
-
左のメニューから、
WP Pusher
→Install Theme
をクリック。ここにテーマのリポジトリ設定を書いていきます。
-
Repository host
をGitLab
-
Theme repository
を 設定したリポジトリの名前にします。この場合だと、at_yasu/worldpress-template
にします。 -
Push-to-Deploy
にチェックを入れます。
-
設定ができたら、 Install Theme
でインストールを開始します。インストールが成功したら、多分「成功しました」だけを表示していたと思います (画面遷移がねーから、失敗したと思い、更新を二回ほどやってしまい、本来何書いてたか不明)。
インストールができたかどうかの確認は左メニューから WP Pusher
→ Themes
をクリックすれば、WP Pusher
でインストールした Themeの一覧が見れます。
これで WP Pusher
経由でテンプレートが入りしましたので、「外観」 からインストールしたテーマを有効化すれば、テーマのインストールが終了です。
Gitlab に push url を設定する
git push
した時に、gitlab 側でpush されてきたことを通知するためイベントを、wordpress 側に通知させるための仕掛けを設定します。
-
左のメニューから、
WP Pusher
→Themes
をクリック -
インストールしたテーマに
Show Push-to-Deploy URL
と青文字の文字をクリックして、下に表示したURLをコピーします。 -
Gitlab のリポジトリー画面から、
設定
→インテグレーション
をクリックして、インテグレーションの設定画面を表示する。表示された入力項目に、それぞれの設定をする。
- URL を
Show Push-to-Deploy URL
で表示されたURL
をペーストする。 - Trigger は
Push events
のみチェックをいれる。Branch name or...
の入力フォームは空白のママ。 -
SSL Vertification
は任意。SSL 設定が済んでいるサイトなら、チェックを入れる。
上記3つの設定が完了したら、
Add Webhook
のボタンを押してイベントを追加する。追加の確認はAdd webhook
ボタンの下に一覧として出る。 - URL を
以上
ここまでくれば git push
をしたら、変更分が自動更新されるはずです。
これからの作業の注意点
-
master
に push をしたら全てのサイトが更新されます。多人数で作業するときはプルリクエストの開発プロセスにして、少しばかり慎重になる事をオススメします。- 一人プルリクも、自分の作業日記みたいになるので、悪くないですよ。
- 多人数だけど、皆 master へプッシュしてきやがるなら、デプロイ専用のリポジトリを作り、wordpress の
wppusher
のinstall theme
画面にあるRepository branch
をそのデプロイ専用のリポジトリにすればいいと思います。