0.はじめに
AWS EC2 AMIMOTO で WordPress サイトを構築してまして…、
ローカルにも WordPress 環境が必要になったので、こちらの記事の様に構築したんですが…。
まぁ、図にするとこんな感じです。
それで、先日、WordPress を Shifter に移行したんですが、いくつか問題が発生したので、改めて、Shifter 移行後の WordPress テーマの GitHub を使ったリリース管理とその適用について、試してみました。
問題としては、
- WP Pusher は、有料プランじゃないとプライベートリポジトリを利用できず。さらにサイト数の制限もあるんですが、Shifter は WordPress を起動するたびに、ドメインやポート番号が変更されるので、起動する度にアクティベートが必要で、さらに WP Pusher に登録された過去のサイトを削除しなければならない。
- WP Pusher が、GitHub でのリリース管理に対応されていないのかな??? GitHub をあんまり使ってなかったので、この辺のところをきちんと考えて無かったです…。
で、
以下の記事の手順通りにやってみました。
まぁ、図にするとこんな感じです。
1.GitHub Actions を設定する。
こちらの記事の手順通りに実施します。
2.Shifter で getshifter/shifter-github を使って WordPress テーマを追加する。
こちらの記事の手順通りに実施します。
-
Shifter Github Plugin/Theme Installer プラグインを公開しました - 株式会社デジタルキューブ
- ※ getshifter/shifter-github プラグインは、 Shifter にデフォルトでインストールされています。
3.Local by Flywheel に getshifter/shifter-github をインストールして WordPress テーマを追加する。
- Releases · getshifter/shifter-github にアクセスし、最新の shifter-github.zip をダウンロードします。
- 以下の記事を参考に、ダウンロードした ZIP ファイルを手動でインストールします。
- テーマを追加する手順は、Shifter と同じです。
こちらの記事の手順通りに実施します。
99.ハマりポイント
今回は、結構ハマりました…。
-
まず getshifter/shifter-github プラグインの前提条件があるので、そこを理解していなかったので、気軽に試してみようかなぁと思って、やってみても動かなくて…、かなり時間を取られました。GitHub Actions の設定をして、リリースを発行しておくと大丈夫なんですが…。前提条件は、以下。
- 一つ以上リリースが発行されていること。
- リリースにリリースパッケージが、添付されていること。 ※ ZIP ファイルは、[リポジトリ名].zip
後、ローカルの WordPress に getshifter/shifter-github プラグインのインストールには、リリースバージョンの ZIP ファイルを使用する必要があったんですが、master の ZIP ファイルを使用してしまって、正常に動作しなくて…、これも非常に時間を取られました。
-
最後は、ローカルの WordPress に getshifter/shifter-github プラグインを使って、独自の WordPress テーマをインストールしようとしても、全然インストール出来なくて、非常に時間を取られました。原因としては、ネットワークや PC の性能とファイイルサイズが影響していると思うんですが、テーマの ZIP ファイルのダウンロードのタイムアウトが発生していたせいでした。因みに、この問題を解決するには、ダウンロードしたプラグインのコードを修正する必要があります。
- ダウンロードした ZIP ファイルを一度解凍します。
-
shifter-github/inc/class-gh-auto-updater-base.php
をエディタ で開きます。 -
以下の修正をします。
private function remote_get( $url, $cache = true ) { $transient_key = 'GH_Auto_Updater::'.$url; if ( ! $cache || false === ( $res = get_transient( $transient_key ) ) ) { //$res = wp_remote_get( $url ); $res = wp_remote_get( $url, array('timeout' => 60) ); // タイムアウト60秒 if ( $cache ) { set_transient( $transient_key, $res, 5 * MINUTE_IN_SECONDS ); } }
改めて、shifter-github を ZIP ファイルへ圧縮します。
XX.まとめ
今回は、Shifter の サポート の方々に非常にお世話になりました。
この場を借りて、
どうもありがとうございました !!!
😭😭😭
そのまま参考にさせてもらった2つの記事も サポート の方々の記事ですね。
こうやって、手順をまとめて下ささると、非常にありがたいですよね。
感謝 ♪♪♪
🙇♂️🙇♂️🙇♂️
以上、ご参考になれば ♪♪♪
👋👋👋