CI/CD統合
このプラグインのインストール手順と全マークダウンガイドを含むセットアッププロンプトをコピーする。
CI/CDパイプラインにCapgoを統合することで、更新をアプリに自動的にビルドおよびデプロイするプロセスを完全に自動化できます。Capgo、CLI、およびsemantic-releaseを活用することで、信頼性の高いデプロイを保証し、迅速な開発を可能にします。
CI/CD統合の利点
CI/CD統合の利点-
自動化: 人間のエラーの可能性や手動ステップがなくなる。ビルド、テスト、デプロイ全プロセスがエンドツーエンドで自動化される。
-
一貫性: すべてのデプロイが同じステップに従うため、予測可能で繰り返し可能なプロセスが保証される。これは、複数のチームメンバーがcodeに貢献する場合に特に価値があります。
-
迅速な開発: __CAPGO_KEEP_0__ で自動的にデプロイすることで、頻繁に更新を配信し、信頼性の高い更新を実現できます。手動のQAやリリース承認を待つ必要がなくなります。
Capgo CLI
Capgo CLICapgo 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_CONTENTCI/CD環境で使用する環境変数の設定 (CI/CD環境での推奨事項):
npx @capgo/cli@latest bundle upload --channel Production --apikey YOUR_API_KEY --key-data-v2 "$CAPGO_PRIVATE_KEY"暗号化用の環境変数の設定
「暗号化用の環境変数の設定」のセクションCI/CD環境では、プライベートキーをファイルとして保存するのではなく、環境変数として保存することをお勧めします。設定方法はこちらです。
-
プライベートキー内容を取得:
ターミナル画面 cat .capgo_key_v2 | pbcopyこのコマンドは、キーの内容をクリップボードにコピーします。
-
CI/CD環境に追加してください:
- GitHub Actions: 追加
CAPGO_PRIVATE_KEYリポジトリのシークレットに追加してください - GitLab CI: プロジェクト設定でマスクされた変数として追加してください
- CircleCI: プロジェクト設定で環境変数として追加してください
- Jenkins: 秘密のテキスト認証情報として追加してください
- GitHub Actions: 追加
-
パイプラインに使用してください:
- 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で環境変数を使用する場合に、プライベートキー内容を直接文字列として渡すことを許可します。これにより、CI/CD Pipelinesで一時ファイルを作成せずに環境変数を使用できます。
このコマンドは、指定されたチャンネルに現在のWebビルドをアップロードします。通常、Webビルドが成功した後、CI/CD Pipelinesの最後のステップとして実行します。
CapgoをCI/CD Pipelinesに設定する
セクション: CapgoをCI/CD Pipelinesに設定するCapgoをCI/CD Pipelinesに統合する方法は、CI/CDツールの選択に応じて異なりますが、一般的なプロセスは次のとおりです:
-
APIキーを生成する: Capgoダッシュボードにログインし、APIキーを作成します。このキーは、CI/CD環境でCLIを認証するために使用されます。秘密に保ち、リポジトリにコミットしないでください!
-
__CAPGO_KEEP_0__を設定する
bundle upload__CAPGO_KEEP_0__: CI/CD構成にステップを追加して、bundle uploadコマンドと適切な引数を使用します:\n置き換えupload.yml - run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }}Productionデプロイ先のチャンネルに置き換え、環境変数に__CAPGO_KEEP_0__キーを保持する変数を使用し、加えて暗号化を使用する場合に追加します。${{ secrets.CAPGO_API_KEY }}with the environment variable holding your API key, and add--key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}"ウェブビルドの後 -
: ウェブビルドが正常に完了した後、ステップを追加します。これにより、常に最新の__CAPGO_KEEP_0__をデプロイできます。\n ここに__CAPGO_KEEP_1__ Actionsの例配置があります:\n
uploadupload.ymlステップを追加します。ウェブビルドの後uploadstep 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常に最新の__CAPGO_KEEP_0__をデプロイする name: Deploy to Capgoon:push:branches: [main]jobs:deploy:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v6- uses: actions/setup-node@v6with: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 __CAPGO_KEEP_0__をインポートして package.json:
import pkg from './package.json'
const config: CapacitorConfig = { // ... other config plugins: { CapacitorUpdater: { version: pkg.version, } }}セマンティックリリース(または他のツール)を使用してバージョンを更新
- バージョン
package.json更新されたバージョンが自動的に含まれるアプリをビルド - 正しいバージョンを持つバンドルをアップロード
- CI/CD ワークフローは次のようになります。
Copy to clipboard
- 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 }}以下の例を参照してください .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に従います。
- リリースノートを、最後のリリース以降のコミットに基づいて生成します。
- ファイルを更新して、リリースノートを新しくします。
CHANGELOG.mdバージョンを更新します。これは、__CAPGO_KEEP_0__.configによって読み込まれます。 - 更新した
package.jsonversion, which will be picked up by your capacitor.config. - file
CHANGELOG.md,package.json, そして他の変更されたファイルをリポジトリに戻します。
アプリをビルドする前に、semantic-release を実行してください。更新されたバージョンが __CAPGO_KEEP_0__.config によって含まれるようにします。 package.json ローカルバージョンがすでに capacitor の場合、自動バージョンアップします。
「ローカルバージョンがすでに Capgo の場合、自動バージョンアップ」
バンドル名は一意でなければなりません (削除されたバージョンはまだ名前を占有しています)。CI が同じバージョンを繰り返しアップロードすると、アップロードは失敗します。バージョンアップを優先してください (たとえば、semantic-release を使用して)。そうでない場合は、チャンネルの関連付けられたバンドルから次の空いている semver を Capgo が選択するか、またはリモートアプリの最新バージョンを使用します:ターミナルウィンドウ package.json コピー package.json CLI __CAPGO_KEEP_1__ Workers AI を使用して、ローカルバンドルファイルを前の __CAPGO_KEEP_2__/channel delta マニフェストと比較し、
npx @capgo/cli@latest bundle upload --channel=production --auto-bumpnpx @capgo/cli@latest bundle upload --auto-bump majornpx @capgo/cli@latest bundle upload --auto-bump minor # default when the flag has no valuenpx @capgo/cli@latest bundle upload --auto-bump patch # alias: fixnpx @capgo/cli@latest bundle upload --auto-bump metadatanpx @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 パッチ.
組み合わせないでください。 --auto-bump と --bundle / -b。詳細なオプションリストについては、 bundle upload 参照 トラブルシューティング
トラブルシューティング
問題が発生した場合は、以下の点を確認してください:Capgo
-
: API キーが有効で必要な権限を持っていることを確認してください。環境変数を使用している場合は、正しく設定されていることを確認してください。API
-
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.
__CAPGO_KEEP_0__ capacitor.config.ts __CAPGO_KEEP_1__ package.json CI/CD統合を使用して、CI/CDの自動化を計画し、__CAPGO_KEEP_0__ CI/CDと接続します。
For more details on the Capgo CLI commands and options, check out the CLI referenceCI/CD統合を使用して、CI/CDの自動化を計画し、Cloudflare CI/CDと接続します。 CI/CD統合を使用して、CI/CDの自動化を計画し、GitHub CI/CDと接続します。.
CI/CD統合を使用して、CI/CDの自動化を計画し、Capgo CI/CDと接続します。
CI/CD統合を使用して、CI/CDの自動化を計画し、Capacitor CI/CDと接続します。
CI/CD統合を使用して、CI/CDの自動化を計画し、Cloudflare CI/CDと接続します。CI/CD統合を使用して、CI/CDの自動化を計画し、GitHub CI/CDと接続します。 CI/CD統合を使用して、CI/CDの自動化を計画し、Capgo CI/CDと接続します。 CI/CD統合を使用して、CI/CDの自動化を計画し、Capacitor CI/CDと接続します。 Capgo CI/CD Capgo CI/CDの製品ワークフロー用 Capgo ネイティブビルド Capgo ネイティブビルドの製品ワークフロー用 Capgo インテグレーション Capgo インテグレーションの製品ワークフロー用 GitHub アクションのインテグレーション GitHub アクションのインテグレーションの実装詳細 GitLab CI/CD インテグレーション GitLab CI/CD インテグレーションの実装詳細