Technophere

background-image

Push from GitHub

ー GitHub管理プラグインをWordPressに自動反映

製品概要

Push from GitHubは、GitHubで管理されているWordPressプラグインをWordPress管理画面から直接管理できるプラグインです。公開リポジトリだけでなく、非公開リポジトリにも対応しており、Personal Access Tokenを使用してアクセスできます。

プラグインの更新チェックから適用、ロールバックまで、すべての操作を管理画面から簡単に行うことができます。

なぜ作ったのか(課題)

GitHubの非公開リポジトリに置かれているプラグインを更新するサービスで、無料のものがありませんでした。

既存のサービスは有料だったり、非公開リポジトリに対応していなかったりと、多くの開発者や制作会社が求める機能を満たすものがありませんでした。

しかし、私はこのプラグインをコストをかけずに制作できると考えたため、無料で提供できるサービスとして開発することにしました。WordPressコミュニティに貢献し、多くの開発者の皆様に役立つツールを提供したいという想いから、Push from GitHubを開発しました。

解決すること

Push from GitHubは、以下の問題を解決します:

自動更新の実現

GitHubリポジトリから自動的に最新版を取得し、ワンクリックで更新できます。手動でのダウンロードやアップロード作業が不要になります。

安全な更新プロセス

更新前に自動的にバックアップを作成し、問題が発生した場合は簡単にロールバックできます。更新履歴もすべて記録されます。

チーム開発の効率化

GitHubで管理されているプラグインを、複数のサイトで一元管理できます。開発チーム全体で最新版を共有しやすくなります。

非公開リポジトリの管理

Personal Access Tokenを使用して、非公開リポジトリのプラグインも安全に管理できます。クライアント専用のプラグインも簡単に管理できます。

主な機能

Push from GitHubには、以下の機能が含まれています。

GitHubリポジトリ連携

GitHubリポジトリからプラグインを自動的に取得・更新します。

非公開リポジトリ対応

Personal Access Tokenを使用して非公開リポジトリにアクセスできます。

更新方法の選択

タグ(リリース)またはブランチから更新を取得できます。

自動バックアップ

更新前に自動的にバックアップを作成します(最大5つまで保持)。

ロールバック機能

更新前のバージョンに簡単に戻すことが可能です。

ログ機能

すべての操作をログに記録し、管理画面で確認可能です。

通知機能

更新やエラーを管理画面で通知します(メール通知も可能)。

多言語対応

日本語、英語に対応しています。

技術構成

Push from GitHubは、以下の技術を活用して構築されています。

GitHub API

GitHub REST APIを使用して、リポジトリ情報の取得、リリースタグの確認、ZIPファイルのダウンロードを行います。認証にはPersonal Access Tokenを使用し、非公開リポジトリにも安全にアクセスできます。

  • GitHub REST API v3を使用
  • OAuth認証による非公開リポジトリへのアクセス
  • レート制限の適切な管理(認証あり: 5,000リクエスト/時)

WordPressの仕組み

WordPressの標準的なプラグイン管理機能を活用し、管理画面から直接プラグインを操作できるようにしています。

  • WordPress管理画面への統合(PFGメニュー)
  • プラグインの有効化・無効化状態の確認
  • WordPressのファイルシステムAPIを使用したファイル操作
  • WordPressのデータベースAPIを使用したログ管理

バックアップ構造

更新前に自動的にバックアップを作成し、安全に管理します。

  • バックアップは wp-content/uploads/github-push-backups/ に保存
  • 各プラグインにつき最大5つのバックアップを保持(古いものから自動削除)
  • ZIP形式で圧縮保存し、ディスク容量を効率的に使用
  • ロールバック時は、バックアップから自動的に復元

ダウンロード

Push from GitHubは、GitHubからダウンロード・インストールできます。

ライセンス

Push from GitHubは、GPL v2 or later ライセンスの下で公開されています。

このライセンスにより、以下のことが可能です:

  • プラグインの自由な使用・改変・配布
  • 商用・非商用を問わず利用可能
  • ソースコードの公開・非公開を選択可能
  • 派生プラグインの作成と配布

ライセンスの詳細については、GNU General Public License v2 をご確認ください。

導入メリット

Push from GitHubを導入することで、以下のメリットが得られます:

01

作業時間の削減

手動でのダウンロード・アップロード作業が不要になり、更新作業にかかる時間を大幅に削減できます。

02

人的ミスの防止

自動化により、ファイルのアップロード漏れやバージョン管理のミスを防げます。

03

安全な更新プロセス

自動バックアップとロールバック機能により、更新時のリスクを最小限に抑えられます。

04

一元管理の実現

複数のサイトで同じプラグインを使用している場合、一元管理により効率的に更新できます。

05

開発フローの改善

GitHubでの開発から本番環境への反映まで、シームレスなワークフローを実現できます。

06

運用コストの削減

更新作業の自動化により、運用コストを削減し、より重要な開発作業に集中できます。

想定ユーザー

Push from GitHubは、以下のようなユーザーに最適です:

WordPress開発者

カスタムプラグインをGitHubで管理している開発者。複数のサイトで同じプラグインを使用している場合に特に有効です。

Web制作会社

クライアント向けにカスタムプラグインを開発・提供している制作会社。非公開リポジトリのプラグインを安全に管理できます。

開発チーム

複数人でプラグインを開発しているチーム。GitHubでの開発から本番環境への反映まで、効率的なワークフローを実現できます。

運用管理者

複数のWordPressサイトを管理している運用管理者。プラグインの更新作業を効率化し、一元管理できます。