コンテンツにジャンプ

CI/CD統合

CI/CD パイプラインに Capgo を統合することで、開発者はアプリのビルドと更新の自動化プロセスを完全に自動化できます。 Capgo と CLI を活用し、semantic-release を利用することで、安定したリリースと迅速な開発を可能にします。

CI/CD統合の利点

CI/CD統合の利点
  • 自動化: 人間の手動ステップやエラーの余地がなくなる。全体のビルド、テスト、デプロイプロセスがエンドツーエンドで自動化できる。

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

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

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

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. CI/CD 環境に追加する

    • GitHub アクション: 追加 CAPGO_PRIVATE_KEY リポジトリのシークレットに追加する
    • GitLab CI: プロジェクト設定のマスクされた変数として追加する
    • CircleCI: __CAPGO_KEEP_0__をプロジェクト設定で環境変数として追加してください
    • Jenkins: CI/CD パイプラインで使用するシークレットテキスト認証情報として追加してください
  3. パイプラインで使用するには:

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

注記: __CAPGO_KEEP_0__フラグは、CI/CD パイプラインで環境変数として使用する場合に、プライベートキーの内容を直接文字列として渡すことができるようにします。 --key-data-v2 __CAPGO_KEEP_0__をCI/CD パイプラインに設定する

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

CI/CDパイプラインでCapgoを設定する

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

  2. Capacitor の設定 bundle upload コマンド: CI/CD 設定にステップを追加して、 bundle upload コマンドを実行するようにします。

    upload.yml
    - run: npx @capgo/cli@latest bundle upload --channel=production --apikey=${{ secrets.CAPGO_API_KEY }}
    \n ここにデプロイ先のチャンネルを入力し、__CAPGO_KEEP_0__ キーを保持する環境変数を入力し、 Production 暗号化を使用する場合は追加してください。 ${{ secrets.CAPGO_API_KEY }} with the environment variable holding your API key, and add --key-data-v2 "${{ secrets.CAPGO_PRIVATE_KEY }}" \n Replace

  3. 追加する upload ウェブビルド後に実行するステップ: Capgo の設定が正しくされていることを確認する upload ビルドが正常に完了した後、ステップが実行されます。これにより、常に最新の code をデプロイできます。 ここでは、GitHub Actions の例を示します。

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

バージョン管理とSemantic-release

バージョン管理のセマンティックリリース

バージョニングの推奨方法は、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 __CAPGO_KEEP_0__
  2. 自動的に最新のバージョンを含むアプリをビルドします。
  3. __CAPGO_KEEP_0__

__CAPGO_KEEP_0__

- 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. __CAPGO_KEEP_0__
  3. 更新します。 CHANGELOG.md 新しいリリースノートのファイルです。
  4. 更新します。 package.json バージョン、があなたの capacitor.config で取得されます。
  5. 更新をコミットします。 CHANGELOG.md, package.json、変更されたファイルをすべてリポジトリに戻してください。

アプリをビルドする前に、semantic-releaseを実行してください。 これにより、更新されたバージョンが正しく取得されます。 package.json ビルドに含まれる capacitor.config です。

トラブルシューティング

トラブルシューティング

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 サポートにご連絡ください。ご自分の環境の特定の設定に関する問題をトラブルシューティングして助けられます。

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

推奨されるアプローチは、ファイル内でバージョンを設定し、semantic-releaseを使用して更新することです。 capacitor.config.ts これにより、robustなおよび信頼性の高いデプロイプロセスが実現され、機能の開発に集中することができます。 package.json マニュアルのリリースステップについて心配する必要がなくなるためです。

詳細については、Capgo CLI コマンドとオプションに関するドキュメントを参照してください。 CLI referenceデプロイを楽しみましょう! ページを編集.

前へ