メインコンテンツにジャンプ

CI/CD統合

Integrating Capgo into your CI/CD pipeline allows you to fully automate the process of building and deploying updates to your app. By leveraging the Capgo CLI and semantic-release, you can ensure consistent, reliable deployments and enable rapid iteration.

  • 自動化: 人間のエラーをなくし、ビルド、テスト、デプロイ全プロセスを自動化できます。

  • 一貫性: デプロイ全プロセスが同じステップに従うため、予測可能で繰り返し可能なプロセスが実現します。これは、複数のチームメンバーが code に貢献する場合に特に有効です。

  • 迅速な反復: 自動化されたデプロイにより、更新を頻繁に、信頼性の高いもので配信できます。人工的なQAやリリース承認を待つ必要がなくなります。

Capgo CLI は、CI/CDワークフローに Capgo を統合するための鍵です。新バンドルバージョンのプッシュ、チャンネルの管理、などを行うコマンドを提供します。

CI/CD統合に最も重要なコマンドは bundle upload:

ターミナルウィンドウ
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY

暗号化を使用する場合、次のいずれかから提供する必要があります:

プライベートキーファイルパスを使用する:

ターミナル画面
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY --key-v2 PRIVATE_KEY_PATH

プライベートキーコンテンツを直接使用する (CI/CD用に推奨):

ターミナル画面
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY --key-data-v2 PRIVATE_KEY_CONTENT

環境変数を使用する (CI/CD用にベストプラクティス):

ターミナル画面
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY --key-data-v2 "$CAPGO_PRIVATE_KEY"

暗号化用の環境変数を設定する

環境変数の設定(暗号化用)

CI/CD環境では、プライベートキーをファイルではなく環境変数として保存することをお勧めします。設定方法はこちらです。

  1. プライベートキー内容を取得する

    ターミナル画面
    cat .capgo_key_v2 | pbcopy

    このコピーは、キーの内容をクリップボードにコピーします。

  2. __CAPGO_KEEP_0__ アクション

    • GitHub Actionsリポジトリのシークレットに追加する CAPGO_PRIVATE_KEY GitLab CI
    • : プロジェクト設定でマスクされた変数として追加するCI/CD環境では、プライベートキーをファイルではなく環境変数として保存することをお勧めします。
    • CircleCI: __CAPGO_KEEP_0__をプロジェクト設定に追加してください
    • Jenkins: CI/CD パイプラインで秘密のテキスト認証情報として追加してください
  3. Use it in your pipeline:

    - run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }} --key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}"

Note: __CAPGO_KEEP_0__フラグは、CI/CD パイプラインの環境変数として使用する場合に、臨時ファイルを作成せずにプライベートキーの内容を直接文字列として渡すことができます。 --key-data-v2 このコマンドは、指定されたチャンネルに現在のWebビルドをアップロードします。通常、Webビルドが正常に完了した後、CI/CD パイプラインの最後のステップとして実行します。

__CAPGO_KEEP_0__をCI/CD パイプラインに設定する

「CapgoをCI/CD パイプラインに設定する」のセクション

Setting up Capgo in your CI/CD Pipeline

CI/CDツールの選択に応じて、具体的な手順は異なりますが、Capgoの統合の一般的なプロセスは次のようになります。

  1. APIキーを生成する: Capgoダッシュボードにログインし、APIキーを作成します。このキーはCI/CD環境でCLIを認証するために使用されます。秘密に保ち、リポジトリにコミットしないでください。

  2. __CAPGO_KEEP_2__の設定 bundle upload __CAPGO_KEEP_2__のコマンド: CI/CD構成にステップを追加して、適切な引数で__CAPGO_KEEP_2__のコマンドを実行します。 bundle upload upload.yml

    コピー
    - run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }}
    __CAPGO_KEEP_3__ Production __CAPGO_KEEP_4__ ${{ secrets.CAPGO_API_KEY }} with the environment variable holding your API key, and add --key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}" 暗号化を使用している場合。

  3. Add the upload web ビルドの後ステップが正常に終了した後、 upload ステップが正常に終了した後、常に最新の code をデプロイするようにします。 ここでは、GitHub Actions の例を示します:\n

    upload.yml
    name: Deploy to Capgo
    on:
    push:
    branches: [main]
    jobs:
    deploy:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v6
    - uses: actions/setup-node@v6
    with:
    node-version: '24'
    - run: npm ci
    - run: npm run build
    - run: npm install -g @capgo/cli
    - run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }} --key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}"

セマンティック リリースを使用したバージョン管理

セクション “セマンティック リリースを使用したバージョン管理”

Capgo のバージョン管理の推奨方法は、バージョンをファイルに設定することです。ファイルから Capgo をインポートして設定します。 capacitor.config.ts コピー package.json:

import pkg from './package.json'
const config: CapacitorConfig = {
// ... other config
plugins: {
CapacitorUpdater: {
version: pkg.version,
}
}
}

このアプローチにより、次のことが可能になります:

  1. バージョンを更新するために、semantic-release (または他のツール)を使用できます。 package.json バージョン
  2. 自動的にバージョンが含まれた最新のバージョンでアプリをビルドします。
  3. 正しいバージョンでバンドルをアップロードします。

CI/CD ワークフローは次のようになります:

- run: npm ci
- run: npx semantic-release # Updates package.json version
- run: npm run build # Builds with new version from capacitor.config
- run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }}

semantic-release のサンプル .releaserc 設定ファイルがあります:

{
"branches": [
"main",
{
"name": "beta",
"prerelease": true
}
],
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/changelog",
[
"@semantic-release/git",
{
"assets": ["CHANGELOG.md", "package.json"],
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
}
]
]
}

この設定ファイルは次のことを行います:

  1. コミット メッセージを分析して、次のバージョン番号を決定します。Conventional Commits spec に従います。
  2. 最後のリリース以降のコミットに基づいてリリースノートを生成します。
  3. 保護されたトークンリスト: Cloudflare、Capacitor、GitHub、Capgo、code、API、SDK、CLI、npm、bun CHANGELOG.md __CAPGO_KEEP_0__.configの新しいリリースノートを更新します。
  4. __CAPGO_KEEP_0__.configの新しいバージョンを更新します。これは、リポジトリに変更されたファイルと共に保存されます。 package.json capacitor.configの更新されたバージョンがビルドに含まれるようにするために、capacitor.configを更新する必要があります。
  5. トラブルシューティング CHANGELOG.md, package.jsonトラブルシューティング

CI/CD統合で問題が発生した場合の対処方法 package.json is included in your build through the capacitor.config.

CI/CD統合で問題が発生した場合の対処方法

CI/CD統合で問題が発生した場合の対処方法

If you encounter issues with your Capgo CI/CD integration, here are a few things to check:

  • API キー: API キーが有効で、必要な権限を持っていることを確認してください。環境変数を使用している場合、正しく設定されていることを確認してください。

  • CLI バージョン: 最新の Capgo CLI バージョンを使用していることを確認してください。古いバージョンでは、互換性の問題や機能の欠如が発生する可能性があります。

  • ビルドアーティファクト: Webビルドが予想どおりの出力ファイルを生成していることを確認してください。 Capgo CLI は、有効なWebビルドが必要です。

  • ネットワーク接続性: CI/CD環境が Capgo サーバーにネットワーク接続性があることを確認してください。ファイアウォールまたはプロキシの問題が、コマンドの実行に影響を与える場合があります。 upload コマンド

: 依然として問題が発生している場合、Capgo サポートに連絡してください。彼らは、ご自身の設定に関連する問題をトラブルシューティングすることができます。

CI/CD_PIPELINEにCapgoを適切にバージョン管理してインテグレートすると、開発ワークフローが大幅にスムーズになります。capacitor.configアプローチを使用して自動化されたデプロイとバージョニングを実行すると、更新を迅速かつ信頼性の高いもので配信できます。

CI/CD_PIPELINEで推奨されるバージョン設定方法はファイル内でバージョンを設定し、semantic-releaseを使用して更新することです。 capacitor.config.ts この方法では、robustかつ信頼性の高いデプロイプロセスが提供され、開発者は機能の開発に集中できるようになり、手動のリリースステップに心配する必要がなくなります。 package.json __CAPGO_KEEP_0__ __CAPGO_KEEP_1__コマンドとオプションの詳細については、__CAPGO_KEEP_0__リファレンスを参照してください。semantic-releaseの設定については、semantic-releaseドキュメントを参照してください。

For more details on the Capgo CLI commands and options, check out the CLI referenceCI/CDインテグレーションから続けてください。 CI/CDインテグレーションから続けてください。.

CI/CDインテグレーションから続けてください。

CI/CDインテグレーションから続けてください。

CI/CDインテグレーションから続けてください。

CI/CDインテグレーションから続けてください。 CI/CD統合 __CAPGO_KEEP_0__ CI/CDと接続する Capgo CI/CDの製品ワークフロー Capgo CI/CDの製品ワークフローで Capgoネイティブビルド Capgoネイティブビルドの製品ワークフローで Capgo統合 Capgo統合の製品ワークフローで GitHubアクション統合 GitHubアクション統合の実装詳細と GitLab CI/CD統合 GitLab CI/CD統合の実装詳細で