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 CLICapgo 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_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 アクション: 追加
CAPGO_PRIVATE_KEYに追加する - に追加するCI
- CircleCICI
- JenkinsCI
- GitHub アクション: 追加
-
: 秘密テキスト認証情報として追加する
- 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の統合の一般的なプロセスは以下のようになります。
-
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!
-
__CAPGO_KEEP_0__の設定
bundle uploadcommand: CI/CDの設定にステップを追加して、__CAPGO_KEEP_0__コマンドを実行します。必要な引数と共にbundle uploadupload.yml\n置き換えCICD統合の設定ファイルです。 - run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }}Productionチャンネルにデプロイしたいものを選択してください。${{ secrets.CAPGO_API_KEY }}環境変数にあなたの API キーを保持するものとともに追加--key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}": ウェブビルドが正常に完了した後、\nこのステップが実行されるようにします。これにより、常に最新の__CAPGO_KEEP_0__をデプロイすることが保証されます。\n 例えば、__CAPGO_KEEP_1__ Actionsの設定例:\n -
upload.yml
uploadバージョン管理のSemantic-release\n置き換え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自動デプロイの設定ファイルです。 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 }}"
if using encryption.
バージョン管理のセマンティックリリースCapgoで推奨されるバージョニング方法は、バージョンをファイルに設定することです。 capacitor.config.ts バージョンをファイルに設定するには、 package.json:
import pkg from './package.json'
const config: CapacitorConfig = { // ... other config plugins: { CapacitorUpdater: { version: pkg.version, } }}クリップボードにコピー
- このアプローチでは、次のことが可能になります。
package.jsonversion - バージョン
- 更新されたバージョンを自動的に含むアプリをビルド
正しいバージョンを含むバンドルをアップロード
- 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}" } ] ]}次のことを行う構成ファイルです:
- コミットメッセージを分析して、次のバージョン番号を決定します。Conventional Commits specに従います。
- リリースノートを、最後のリリース以降のコミットに基づいて生成します。
- ファイルを更新します。
CHANGELOG.mdバージョンを更新します。__CAPGO_KEEP_0__.configで使用されるバージョンを取得します。 - ファイルを更新します。
package.jsonバージョン、があなたの capacitor.config で取得されます。 - 、および他の変更されたファイルをリポジトリにコミットします。
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-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 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__ ドキュメント.
デプロイを楽しみましょう!
CI/CD統合から続きます
セクション名 “CI/CD統合から続きます”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__