コンテンツに進む

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.

CI/CD統合の利点

CI/CD統合の利点
  • 自動化: 人間のエラーをなくし、手動のステップをなくします。ビルド、テスト、デプロイプロセスを完全に自動化できます。

  • 一貫性: Every deployment follows the same set of steps, ensuring a predictable and repeatable process. This is especially valuable when you have multiple team members contributing code.

  • 迅速な開発: 自動化されたデプロイメントを利用することで、頻繁に更新をリリースし、信頼性の高いリリースを実現できます。手動のQAやリリース承認を待つ必要がなくなります。

Capgo CLI

Capgo CLI

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

__CAPGO_KEEP_0__ __CAPGO_KEEP_1__の最も重要なコマンド 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環境で使用する環境変数 (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. CI/CD環境に追加:

    • GitHub アクション: 追加 CAPGO_PRIVATE_KEY に追加する
    • に追加するCI
    • CircleCICI
    • JenkinsCI
  3. : 秘密テキスト認証情報として追加する

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

Note注記: --key-data-v2 CI/CD統合のフラグは、プライベートキーのコンテンツを直接文字列として渡すことを許可するため、CI/CD Pipelinesの環境変数で一時ファイルを作成したくない場合に最適です。

This command uploads the current web build to the specified channel. You’ll typically run this as the last step in your CI/CD pipeline, after your web build has completed successfully.

CI/CD PipelinesでCapgoを設定する

セクション: CI/CD PipelinesでCapgoを設定する

CI/CD統合の手順は、選択したCI/CDツールによって異なりますが、Capgoの統合の一般的なプロセスは以下のようになります。

  1. APIのキーを生成する: Log in to the Capgo dashboard and create a new API key. This key will be used to authenticate the CLI in your CI/CD environment. Keep it secret and never commit it to your repository!

  2. __CAPGO_KEEP_0__の設定 bundle upload command: CI/CDの設定にステップを追加して、__CAPGO_KEEP_0__コマンドを実行します。必要な引数と共に bundle upload upload.yml

    CICD統合の設定ファイルです。
    - run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }}
    \n置き換え Production チャンネルにデプロイしたいものを選択してください。 ${{ secrets.CAPGO_API_KEY }} 環境変数にあなたの API キーを保持するものとともに追加 --key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}" : ウェブビルドが正常に完了した後、\nこのステップが実行されるようにします。これにより、常に最新の__CAPGO_KEEP_0__をデプロイすることが保証されます。\n 例えば、__CAPGO_KEEP_1__ Actionsの設定例:\n

  3. upload.yml upload バージョン管理のSemantic-release\n置き換え upload step comes after your web build has completed successfully. This ensures you’re always deploying your latest code.\n Here’s an example configuration for GitHub Actions:\n

    自動デプロイの設定ファイルです。
    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で推奨されるバージョニング方法は、バージョンをファイルに設定することです。 capacitor.config.ts バージョンをファイルに設定するには、 package.json:

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

クリップボードにコピー

  1. このアプローチでは、次のことが可能になります。 package.json version
  2. バージョン
  3. 更新されたバージョンを自動的に含むアプリをビルド

正しいバージョンを含むバンドルをアップロード

- 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 }}

CI/CDワークフローは次のようになります。 .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. ファイルを更新します。 CHANGELOG.md バージョンを更新します。__CAPGO_KEEP_0__.configで使用されるバージョンを取得します。
  4. ファイルを更新します。 package.json バージョン、があなたの capacitor.config で取得されます。
  5. 、および他の変更されたファイルをリポジトリにコミットします。 CHANGELOG.md, package.jsonアプリをビルドする前に、セマンティックリリースを実行して、更新されたバージョンを取得します。

コピー package.json capacitorの設定ファイルを通じて、ビルドに含まれます。

ローカル版がすでにCapgoにアップロードされている場合、自動バージョンアップします。

セクション:ローカル版がすでにCapgoにアップロードされている場合の自動バージョンアップ

バンドル名は一意でなければなりません(削除されたバージョンは名前を占有します)。CIが同じバージョンを繰り返しアップロードするとアップロードが失敗します。バージョンアップは package.json バージョンが古い場合、アップロードが失敗します。アップロードするバージョンを上げることをお勧めします。 package.json (for example with semantic-release). When that is not practical, let the CLI pick the next free semver from the channel’s linked bundle, or else the latest remote app version:

クリップボードにコピー
npx @capgo/cli@latest bundle upload --channel=production --auto-bump
npx @capgo/cli@latest bundle upload --auto-bump major
npx @capgo/cli@latest bundle upload --auto-bump minor # default when the flag has no value
npx @capgo/cli@latest bundle upload --auto-bump patch # alias: fix
npx @capgo/cli@latest bundle upload --auto-bump metadata
npx @capgo/cli@latest bundle upload --channel=production --auto-bump ai

--auto-bump ai Capgo Cloudflare は、ローカル バンドル ファイルを前回の Capgo チャネル デルタ ファイルと比較し、変更を検出します。 major | minor | patch | metadataCI/CD統合の場合、以前のCapgoバージョンがない場合、AIはスキップされ、バンプは 組み合わせない.

__CAPGO_KEEP_0__の設定ファイルを通じて、ビルドに含まれます。 --auto-bump と --bundle / -b. bundle upload 参照 詳細なオプションリストについては

トラブルシューティング

トラブルシューティング

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

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

  • CLI バージョン: Make sure you’re using the latest version of the Capgo CLI. Older versions may have compatibility issues or lack certain features.

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

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

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

CI/CD パイプラインに Capgo を適切にバージョン管理することで、開発ワークフローが大幅に簡素化されます。 capacitor.config アプローチを使用して、自動化されたデプロイとバージョニングを実現することで、更新を迅速かつ自信を持って配信することができます。

バージョンの設定は、以下の方法で行うことをお勧めします。 capacitor.config.ts ファイル package.json を参照してください。

Capgo CLI コマンドとオプションの詳細については、 CLI リファレンス. __CAPGO_KEEP_0__ の設定について __CAPGO_KEEP_0__ ドキュメント.

デプロイを楽しみましょう!

Capgo BuilderでCI/CD自動化を実施している場合 CI/CD統合 CI/CD自動化を計画するには、を接続する必要があります。 Capgo CI/CD Capgo CI/CD Capgo CI/CDの製品ワークフローでCapgo CI/CDを使用する場合、Capgoネイティブビルドを使用します Capgo Native Builds における製品ワークフローについて Capgo インテグレーション Capgo インテグレーション GitHub アクション インテグレーション GitHub アクション インテグレーション GitLab CI/CD インテグレーション __CAPGO_KEEP_0__