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は公開リポジトリの場合無料で利用できます)

WP Pusher トップページ

次に「プラグイン」→「新規追加」から先ほどダウンロードしたプラグインをzipファイルのままアップロードし、有効化します。

WordPress プラグインのインストール

WP Pusherの設定

プラグインのインストールが完了したらWP Pusherの設定を行なっていきます。 今回はテーマの自動デプロイを行うので「WP Pusher」→「Install Theme」と進みます。

設定項目は以下の4つ。

Repository host GitHubにチェック
Theme repository [AccountName]/[RepositoryName]の形式で入力
Repository branch デプロイするブランチ名を入力
Link installed theme 既にテーマファイルをアップロードしているのでチェックを入れます
WP Pusher テーマインストール画面

入力が完了したら左下の「Install theme」ボタンを押してインストール。

インストールが完了したら、「WP Pusher」の「Theme」画面に行きます。

WP Pusher インストール済みテーマ画面

先ほどインストールしたテーマが表示されているはずですので、「Show Push-to-Deploy URL」ボタンをクリックして下に表示されたURLをコピーしてください。 これでWP Pusher側の設定は完了です。

GitHubの設定

次にGitHubでwebhookを追加します。

該当リポジトリの「Settings」→「Webhhoks」と進み「Add webhook」をクリックします。

GitHub webhook追加手順

Payload URL」にWP Pusherの設定画面からコピーしたURLをペーストし、「Let me select individual events.」を選択します。

GitHub webhook追加画面

下にスクロールしていき、「Pull requests」にチェックを入れ、左下の「Add webhook」ボタンを押して追加します。

GitHub webhook 「Pull request」にチェック

これで全ての設定が完了です。

あとはdevelopブランチでリモートにプッシュし、mainブランチにマージしたタイミングで自動でデプロイされるようになります。