Help us understand the problem. What is going on with this article?

Shifter 移行後の WordPress テーマの GitHub を使ったリリース管理とその適用について試してみた。

0.はじめに

AWS EC2 AMIMOTOWordPress サイトを構築してまして…、

ローカルにも WordPress 環境が必要になったので、こちらの記事の様に構築したんですが…。

まぁ、図にするとこんな感じです。

Qiita_02_1024x640.001.jpeg


それで、先日、WordPressShifter に移行したんですが、いくつか問題が発生したので、改めて、Shifter 移行後の WordPress テーマの GitHub を使ったリリース管理とその適用について、試してみました。

問題としては、

  • WP Pusher は、有料プランじゃないとプライベートリポジトリを利用できず。さらにサイト数の制限もあるんですが、ShifterWordPress を起動するたびに、ドメインやポート番号が変更されるので、起動する度にアクティベートが必要で、さらに WP Pusher に登録された過去のサイトを削除しなければならない。
  • WP Pusher が、GitHub でのリリース管理に対応されていないのかな??? GitHub をあんまり使ってなかったので、この辺のところをきちんと考えて無かったです…。


で、

以下の記事の手順通りにやってみました。

まぁ、図にするとこんな感じです。

Qiita_02_1024x640.002.jpeg

1.GitHub Actions を設定する。

こちらの記事の手順通りに実施します。

2.Shiftergetshifter/shifter-github を使って WordPress テーマを追加する。

こちらの記事の手順通りに実施します。

3.Local by Flywheelgetshifter/shifter-github をインストールして WordPress テーマを追加する。

  1. Releases · getshifter/shifter-github にアクセスし、最新の shifter-github.zip をダウンロードします。
    • FireShot Capture 385 - Releases · getshifter_shifter-github - github.com.png
  2. 以下の記事を参考に、ダウンロードした ZIP ファイルを手動でインストールします。
  3. テーマを追加する手順は、Shifter と同じです。

こちらの記事の手順通りに実施します。

99.ハマりポイント

  • 今回は、結構ハマりました…。

  • まず getshifter/shifter-github プラグインの前提条件があるので、そこを理解していなかったので、気軽に試してみようかなぁと思って、やってみても動かなくて…、かなり時間を取られました。GitHub Actions の設定をして、リリースを発行しておくと大丈夫なんですが…。前提条件は、以下。

    • 一つ以上リリースが発行されていること。
    • リリースにリリースパッケージが、添付されていること。 ※ ZIP ファイルは、[リポジトリ名].zip
  • 後、ローカルの WordPressgetshifter/shifter-github プラグインのインストールには、リリースバージョンの ZIP ファイルを使用する必要があったんですが、master の ZIP ファイルを使用してしまって、正常に動作しなくて…、これも非常に時間を取られました。

  • 最後は、ローカルの WordPressgetshifter/shifter-github プラグインを使って、独自の WordPress テーマをインストールしようとしても、全然インストール出来なくて、非常に時間を取られました。原因としては、ネットワークや PC の性能とファイイルサイズが影響していると思うんですが、テーマの ZIP ファイルのダウンロードのタイムアウトが発生していたせいでした。因みに、この問題を解決するには、ダウンロードしたプラグインのコードを修正する必要があります。

    1. ダウンロードした ZIP ファイルを一度解凍します。
    2. shifter-github/inc/class-gh-auto-updater-base.php をエディタ で開きます。
    3. 以下の修正をします。

      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 );
              }
          }
      
    4. 改めて、shifter-github を ZIP ファイルへ圧縮します。

XX.まとめ

今回は、Shifterサポート の方々に非常にお世話になりました。

この場を借りて、

どうもありがとうございました !!!

😭😭😭

そのまま参考にさせてもらった2つの記事も サポート の方々の記事ですね。

こうやって、手順をまとめて下ささると、非常にありがたいですよね。

感謝 ♪♪♪

🙇‍♂️🙇‍♂️🙇‍♂️

以上、ご参考になれば ♪♪♪

👋👋👋

kusokamayarou
鹿児島市の企業に勤めて、枕崎でテレワークしてる IT エンジニアです。 最近、自分で事業をしようとちょっとずつ動き始めました。
http://kusokamayarou.hatenablog.com/
genbasupport
建設業を支えるコミュニケーション&マネジメントのサービスを開発・運営するエンジニアチーム
http://www.genbasupport.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away