Capgo と GitHub Actions を組み合わせることで、Capacitor アプリのアップデート配信が簡単になります。この統合が注目に値する理由は以下の通りです:
- コスト削減: AppFlow と比較して、5年間でCI/CDコストを最大$26,100削減できます。
- 迅速なアップデート: 即時更新が可能で、24時間以内に95%のユーザーに配信されます。
- セキュアな配信: エンドツーエンドの暗号化によりアップデートの安全性を確保します。
- 効率的なワークフロー: GitHubリポジトリで直接ビルドと配信を自動化します。
クイックオーバービュー
- 要件: GitHubアカウント、Capgoアカウント(月額$12から)、Capacitorプロジェクト、Node.js。
- セットアップ:
npx @capgo/cli init
でCapgo CLIをインストール、YAMLワークフローでGitHub Actionsを設定。 - デプロイ:
npx @capgo/cli deploy
などのコマンドを使用してアップデートを自動化。 - テスト: 本番環境前にテストチャンネル(ベータ、ステージングなど)にデプロイ。
ワークフロー例(YAML):
name: Capgo Deployon: push: branches: - main
jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: '18.x' - name: Install Dependencies run: npm install - name: Deploy to Capgo run: npx @capgo/cli deploy env: CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
この統合により、高速で安全、かつコスト効率の良いアプリのアップデートが可能になり、アジャイル開発チームに最適です。
GitHub Actions チュートリアル - 基本概念とCI/CDパイプライン
セットアップ要件
Capgoの統合とGitHub Actionsには、必要なツールと設定のセットアップが含まれます。
必要なツールとアカウント
以下のアカウントとツールを用意してください:
要件 | 目的 | 詳細 |
---|---|---|
GitHubアカウント | バージョン管理とCI/CD | リポジトリにアクセス可能なアクティブなアカウント |
Capgoアカウント | ライブアップデート管理 | SOLOプランは月額$12から |
Capacitorプロジェクト | アプリ開発 | 統合準備が整ったプロジェクト |
Node.js | ランタイム環境 | 最新のLTSバージョンを推奨 |
これらが用意できたら、自動化されたライブアップデートのためにプロジェクトにCapgoを追加できます。
Capgoをプロジェクトに追加
Capgoを統合するには、CLIツールを使用してCapacitorプロジェクトにインストールします。Capgoの創設者Martin Donadieuによると:
“npx @capgo/cli initを実行するだけです!” [1]
このコマンドでプラグインと必要な依存関係がセットアップされます。
GitHubリポジトリのセットアップ
CapgoとのCI/CD統合のために、GitHubリポジトリを準備します。彼らのドキュメントによると:
“GitHub Actions、GitLab CIなど、お好みのプラットフォームで直接CI/CDパイプラインを設定します。CI/CDのホスティングは行わず、維持費用も請求しません。” [1]
Capgoはこのセットアップを一時金$2,600と月額約$300で提供しており、AppFlowの年間$6,000と比べてより手頃です [1]。
リポジトリのセットアップ方法:
- リポジトリ構造: ソースコード、アセット、設定ファイルを別々のディレクトリに整理し、すべてを整理しやすく管理しやすくします。
- 環境設定: 開発、ステージング、本番環境を区別し、適切なアクセス制御とセキュリティ対策を確保します。
- アクセス管理: Capgo統合を可能にしながらセキュリティを維持するよう、リポジトリの権限を慎重に設定します。
これらのステップにより、次のセクションで説明するGitHub Actionsワークフローの準備が整います。
GitHub Actionsワークフローのセットアップ
CapgoデプロイメントをGitHub Actionsで自動化し、CI/CDプロセスを効率化します。
ワークフローファイルの作成
リポジトリの.github/workflows
ディレクトリにYAMLファイルを作成します。例:
name: Capgo Deployon: push: branches: - main workflow_dispatch:
jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: '18.x' - name: Install Dependencies run: npm install - name: Build App run: npm run build - name: Deploy to Capgo run: npx @capgo/cli deploy env: CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
この設定により、セキュアで自動化されたデプロイメントが確保されます。ファイルを設定したら、ワークフローに適切なトリガーを選択します。
ワークフロートリガーのオプション
GitHub Actionsではワークフローの実行タイミングをカスタマイズできます。トリガーオプションの例:
トリガータイプ | ユースケース | 設定 |
---|---|---|
プッシュイベント | コード変更時のデプロイ | 特定のブランチへのコードプッシュ時に起動 |
手動ディスパッチ | オンデマンドアップデート | 手動でワークフローを開始可能 |
スケジュール | 定時リリース | 設定した間隔でデプロイメントを実行 |
プルリクエスト | アップデートのテスト | メインブランチにマージする前に変更をテスト |
シークレットキーの管理
セキュアなデプロイメントを確保するため、シークレットキーを適切に管理する必要があります。GitHub Actionsは、この目的のために暗号化されたシークレット管理システムを提供しています。
セキュアな認証のセットアップ手順:
-
リポジトリ設定へのアクセス
リポジトリの設定で、“Security”タブの下にある”Secrets and variables”セクションに移動します。 -
Capgoの認証情報を追加
Capgoの認証トークンをリポジトリのシークレットとして保存します。CAPGO_TOKEN
という名前を付けます。 -
ワークフローでのシークレットの参照
保存したシークレットを${{ secrets.CAPGO_TOKEN }}
のようにワークフローで参照します。
ワークフローでのCapgoコマンド
GitHub Actions環境のセットアップが完了したら、Capgo CLIコマンドを統合してデプロイメントを自動化できます。
Capgo CLIのインストール
ワークフローにCapgo CLIをインストールするステップを追加します:
steps: - name: Install Capgo CLI run: npm install -g @capgo/cli - name: Initialize Capgo run: npx @capgo/cli init
CLIの認証
CAPGO_TOKEN
を使用してCLIを安全に認証します:
- name: Authenticate Capgo CLI run: npx @capgo/cli login env: CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
デプロイメントコマンド
アップデートのビルド、バージョニング、デプロイを処理する主要なコマンド:
コマンド | 目的 | 使用例 |
---|---|---|
build | 本番用バンドルを生成 | npx @capgo/cli build |
deploy | Capgoにアップデートをプッシュ | npx @capgo/cli deploy |
version | アップデートのバージョンを設定 | npx @capgo/cli version 1.2.0 |
デプロイメントプロセス全体を自動化するには、以下のようにコマンドを組み合わせます:
steps: - name: Build and Deploy run: | npx @capgo/cli build npx @capgo/cli version ${{ github.ref_name }} npx @capgo/cli deploy env: CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
このセットアップにより、ワークフローが実行されるたびにアップデートが自動的にビルド、バージョニング、デプロイされます。GitHubのシークレット管理システムにより、プロセス全体で認証情報が安全に保たれます。
テストと修正
テストワークフローの実行
専用のCapgoテストチャンネルを使用して、GitHub Actionsワークフローをテストできます。これにより、アップデートを本番環境に配信する前に検証できます。
- name: Test Build Deployment run: | npx @capgo/cli build npx @capgo/cli deploy --channel beta env: CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
Capgoのチャンネルシステムは、異なるステージ用の個別のデプロイメントパスを作成するのに役立ちます:
チャンネル | 目的 | ターゲットユーザー |
---|---|---|
beta | プレリリーステスト | 内部チーム |
staging | QA検証 | テストユーザー |
production | 本番デプロイ | 全ユーザー |
エラーの解決
一般的な統合の問題と対処方法:
- 認証の失敗
GitHub Secretsの CAPGO_TOKENを確認してください。期限切れの場合は、スムーズな認証のために再生成してください。
- ビルドエラー
ビルド設定がデプロイメント環境の要件と一致していることを確認してください。
“5000人以上のユーザーベースに対して、Capgo OTAアップデートを本番環境にロールアウトしました。OTAがCapgoにデプロイされてから数分以内にほぼすべてのユーザーが最新の状態になり、非常にスムーズな運用を実現しています。” [1]
- バージョンの競合
デプロイメント時の競合を防ぐため、セマンティックバージョニングを守り、適切にバージョンを増やしてください。
メンテナンスのヒント
- Capgoアナリティクスを使用してアップデートの成功率を監視する。
- 問題を引き起こす可能性のあるアップデートの自動ロールバックを有効にする。
- より良いコントロールのために、プルリクエスト(PR)をチャンネルセレクターでテストする。
- 最新のCapgo CLIコマンドでワークフローを更新する。
優先度の高いデプロイメントでは、Capgoのエラートラッキングを活用して潜在的な問題を早期に発見してください。何か問題が発生した場合、ロールバック機能を使用して迅速に安定バージョンに戻すことができ、混乱を最小限に抑えることができます。これらのプラクティスは、本番環境に向けてデプロイメントをスムーズに保つのに役立ちます。
結論
主なポイント
CapgoとGitHub Actionsの統合により、Capacitorアプリのデプロイメントプロセスが簡素化され、開発チームに大きな利点をもたらします。アップデートの世界的な成功率82%、24時間以内にアクティブユーザーの95%がアップデートを受信 [1] という効率性で、このソリューションは際立っています。
注目すべき機能:
- 自動化されたワークフロー: GitHub Actionsで直接ワークフローを設定でき、外部CI/CDホスティングが不要です。このアプローチにより、AppFlowなどの代替手段と比較して5年間で約$26,100のコスト削減が可能です [1]。
- 迅速なデプロイメント: アプリストアの遅延をバイパスして、即時にアップデートをプッシュできます。
- 強力なセキュリティ: エンドツーエンドの暗号化によりアップデートの安全な配信を確保し、Capgoのチャンネルシステムにより制御された段階的なロールアウトが可能です。
これらの機能により、よりカスタマイズされたソリューションとパフォーマンスの向上
- カスタムAPIワークフロー: CapgoのパブリックAPIを使用して、チームの特定のニーズに合わせたデプロイメントワークフローを設計できます。これにより、ホワイトラベル体験や現在のツールとのシームレスな統合が可能になります [1]。
- チャンネルベースのリリース: Capgoのチャンネル機能を使用して、段階的で制御されたアップデートのためのデプロイメントプロセスを最適化します。
- 最適化されたパフォーマンス: Capgoの部分的なアップデートを活用して、帯域幅の使用量を削減し、アップデートを高速化します。750の本番アプリにわたって2,350万回のアップデートを提供した実績 [1] により、大規模な需要に対応できる能力が証明されています。
さらに良い結果を得るために、CapgoのセルフホスティングオプションやカスタムAPIセットアップの使用を検討してください。これらの戦略を完全に実装するための詳細なセットアップとテスト手順については、前のセクションを確認してください。