GitHubで管理してるWordPressのテーマをWP Pusherで自動デプロイする
当ブログのWordPressのテーマをGitHubで管理していて、リモートにプッシュ・マージするたびにEC2にSSHで接続して手動でgit pullしていたのですが、自動化したいと思い「WP Pusher」というWordPressのプラグインを導入しました。
GitHub Actionsとどちらにしようか迷ったのですがWP Pusherの方が簡単そうだったのでこちらにしました。
実行環境
- EC2に既にテーマをアップロード済み
- 該当リポジトリは公開(public)
- ブランチはdevelopとmainの2つ。developで開発後リモートにプッシュ、GitHub上でプルリク作成しdevelopからmainにマージ(このmainにマージしたタイミングで本番にデプロイしたい)
WP Pusherのインストール
まずWP Pusherのサイトに行ってトップページの「Download」ボタンからプラグインをダウンロードします。(WP Pusherは公開リポジトリの場合無料で利用できます)
次に「プラグイン」→「新規追加」から先ほどダウンロードしたプラグインをzipファイルのままアップロードし、有効化します。
WP Pusherの設定
プラグインのインストールが完了したらWP Pusherの設定を行なっていきます。 今回はテーマの自動デプロイを行うので「WP Pusher」→「Install Theme」と進みます。
設定項目は以下の4つ。
Repository host | GitHubにチェック |
---|---|
Theme repository | [AccountName]/[RepositoryName] の形式で入力 |
Repository branch | デプロイするブランチ名を入力 |
Link installed theme | 既にテーマファイルをアップロードしているのでチェックを入れます |
入力が完了したら左下の「Install theme」ボタンを押してインストール。
インストールが完了したら、「WP Pusher」の「Theme」画面に行きます。
先ほどインストールしたテーマが表示されているはずですので、「Show Push-to-Deploy URL」ボタンをクリックして下に表示されたURLをコピーしてください。 これでWP Pusher側の設定は完了です。
GitHubの設定
次にGitHubでwebhookを追加します。
該当リポジトリの「Settings」→「Webhhoks」と進み「Add webhook」をクリックします。
「Payload URL」にWP Pusherの設定画面からコピーしたURLをペーストし、「Let me select individual events.」を選択します。
下にスクロールしていき、「Pull requests」にチェックを入れ、左下の「Add webhook」ボタンを押して追加します。
これで全ての設定が完了です。
あとはdevelopブランチでリモートにプッシュし、mainブランチにマージしたタイミングで自動でデプロイされるようになります。