Skip to content

CI/CD統合

Capgo を CI/CD パイプラインに統合することで、更新をアプリに自動的にビルドおよび展開するプロセスを完全に自動化できます。Capgo と CLI を活用し、semantic-release を利用することで、信頼性の高い展開を保証し、迅速な開発を可能にします。

CI/CD統合の利点

CI/CD統合の利点
  • 自動化: 人間の間違いや手動ステップがなくなるため、ビルド、テスト、展開プロセスがエンドツーエンドで自動化できます。

  • 一貫性: すべての展開が同じステップに従うため、予測可能で繰り返し可能なプロセスが保証されます。これは、複数のチームメンバーが code に貢献する場合に特に価値があります。

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

Capgo CLI

Capgo CLI

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環境で使用する環境変数の設定 (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 Actions: 追加 CAPGO_PRIVATE_KEY リポジトリのシークレットに追加してください
    • GitLab CI: プロジェクト設定でマスクされた変数として追加してください
    • CircleCI: プロジェクト設定で環境変数として追加してください
    • Jenkins: 秘密のテキスト認証情報として追加してください
  3. パイプラインに使用してください:

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

注意: --key-data-v2 フラグは、CI/CD Pipelinesで環境変数を使用する場合に、プライベートキー内容を直接文字列として渡すことを許可するため、環境変数を使用する場合に最適です。

このコマンドは、指定されたチャンネルに現在のWebビルドをアップロードします。通常、Webビルドが正常に完了した後、CI/CD Pipelinesの最後のステップとして実行します。

CapgoをCI/CD Pipelinesに設定する

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

CapgoをCI/CD Pipelinesに統合する方法は、CI/CDツールの選択に応じて異なりますが、一般的なプロセスは次のとおりです:

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

  2. __CAPGO_KEEP_3__を設定する bundle upload __CAPGO_KEEP_4__: CI/CD構成にステップを追加して、 bundle upload コマンドと適切な引数を使用します:

    upload.yml
    - 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 }}" 暗号化を使用している場合に追加してください。

  3. Webビルドの後に追加してください: upload : Webビルドが正常に完了した後、ステップを実行してください。これにより、常に最新の__CAPGO_KEEP_0__をデプロイすることが保証されます。\n 例えば、__CAPGO_KEEP_1__ Actionsの設定例は以下のようになります:\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

    protectedTokens
    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_KEEP_0__のバージョン管理における推奨手法

バージョン管理における__CAPGO_KEEP_0__の推奨手法

Capgoのバージョンをファイルに設定するには、Capgoをインポートする必要があります。 capacitor.config.ts __CAPGO_KEEP_0__をインポートする package.json:

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

__CAPGO_KEEP_0__を使用することで、次のことが可能になります。

  1. semantic-release (または他のツール)を使用して__CAPGO_KEEP_0__を更新 package.json __CAPGO_KEEP_0__を更新したバージョンでアプリをビルド
  2. __CAPGO_KEEP_0__をアップロード
  3. CI/CDワークフローは次のようになります。

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

コミットメッセージを分析して、次のバージョン番号を決定します。Conventional Commits specに従います。

  1. リリースノートを、最後のリリース以降のコミットに基づいて生成します。
  2. ファイルを更新して、リリースノートを新しいものにします。
  3. バージョンを更新します。これは、__CAPGO_KEEP_0__.configで読み取られます。 CHANGELOG.md 更新した
  4. ファイルをコミットします。 package.json version, which will be picked up by your capacitor.config.
  5. Commits the updated CHANGELOG.md, package.json, そして他の変更されたファイルをリポジトリに戻します。

アプリをビルドする前に、semantic-release を実行してください。更新されたバージョンが __CAPGO_KEEP_0__.config から含まれるようにします。 package.json ローカルバージョンがすでに capacitor の場合、自動的にバージョンを上げます。

ターミナルウィンドウ package.json コピーする package.json CLI __CAPGO_KEEP_1__ Workers AI を使用して、ローカルバンドルファイルを前の __CAPGO_KEEP_2__/channel delta マニフェストと比較し、

、そして短い理由を表示します。前の __CAPGO_KEEP_0__ バージョンがない場合は、AI はスキップされ、バージョンは
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 uses Capgo Cloudflare Workers AI to compare local bundle files against the previous Capgo/channel delta manifest, pick major | minor | patch | metadata, and print a short reason. With no previous Capgo version, AI is skipped and the bump is Japanese.

/ja/docs/getting-started/cicd-integration/ --auto-bump Cloudflare --bundle / -bCapacitor bundle upload GitHub Capgo

code

API

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

  • API key: Ensure your API key is valid and has the necessary permissions. If using an environment variable, double check that it’s set correctly.

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

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

  • ネットワーク接続: CI/CD 環境が Capgo サーバーにネットワーク接続できることを確認してください。ファイアウォールやプロキシの問題が、時々コマンドの動作に影響を与えることがあります。 upload : 問題が解決しない場合は、 __CAPGO_KEEP_0__ サポートに連絡してください。彼らは、特定の設定に関連する問題をトラブルシューティングすることができます。

If you’re still having trouble, reach out to Capgo support for assistance. They can help troubleshoot any issues with your specific setup.

Integrating Capgo into your CI/CD pipeline with proper version management can greatly streamline your development workflow. By automating your deployments and versioning through the capacitor.config approach, you can ship updates faster and with more confidence.

: バージョンをファイルに設定し、semantic-release を使用して更新することを推奨するアプローチ capacitor.config.ts file and using semantic-release to update package.json CI/CD統合を使用して、CI/CDの自動化を計画し、Cloudflare CI/CDと接続します。

For more details on the Capgo CLI commands and options, check out the CLI referenceCI/CD統合を使用して、CI/CDの自動化を計画し、GitHub CI/CDと接続します。 CI/CD統合を使用して、CI/CDの自動化を計画し、GitHub Actions CI/CDと接続します。.

CI/CD統合を使用して、CI/CDの自動化を計画し、GitHub Actions CI/CDと接続します。

CI/CD統合を使用して、CI/CDの自動化を計画し、GitHub Actions CI/CDと接続します。

CI/CD統合を使用して、CI/CDの自動化を計画し、GitHub Actions CI/CDと接続します。

CI/CD統合を使用して、CI/CDの自動化を計画し、GitHub Actions CI/CDと接続します。 CI/CD統合を使用して、CI/CDの自動化を計画し、GitHub Actions CI/CDと接続します。 CI/CD統合を使用して、CI/CDの自動化を計画し、GitHub Actions CI/CDと接続します。 Capgo CI/CD 製品ワークフローにおけるCapgo CI/CDのために Capgoネイティブビルド Capgoネイティブビルドの製品ワークフローに Capgo統合 Capgo統合のために製品ワークフロー GitHubアクション統合 GitHubアクション統合の実装詳細に GitLab CI/CD統合 GitLab CI/CD統合の実装詳細に