メニューに進む

__CAPGO_KEEP_0__

Capgo supports custom storage solutions for your app bundles, allowing you to host your updates on your own infrastructure or third-party storage services. This is particularly useful for organizations with specific security requirements, compliance needs, or existing storage infrastructure.

カスタム ストレージの Capgo では、バンドルを外部の場所にアップロードし、Capgo にアクセスするための URL を提供することで機能します。 Capgo SDK は、Capgo のデフォルトのクラウド ストレージではなく、カスタム ストレージの場所から直接更新をダウンロードします。

カスタム ストレージを使用する最も簡単な方法は、バンドルを任意の公開アクセス可能な URL にアップロードし、その URL を Capgo に提供することです。

基本的な外部 URL アップロード

Basic External URL Uploadのセクション
ターミナル画面
npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zip

指定されたURLにバンドルを参照するようにCapgoに指示するこのコマンドは、Capgoのクラウドストレージにアップロードするのではなく

安全な外部ストレージのために、バンドルを暗号化し、復号化キーを提供することができます。

ターミナル画面
npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zip --iv-session-key YOUR_IV_SESSION_KEY

CapgoはAmazon S3とS3互換ストレージサービスに対応しています。CLIは自動的にバンドルをS3にアップロードし、CapgoをS3のURLで設定します。

ターミナル ウィンドウ
npx @capgo/cli@latest bundle upload \
--s3-region us-east-1 \
--s3-apikey YOUR_ACCESS_KEY \
--s3-apisecret YOUR_SECRET_KEY \
--s3-bucket-name your-bucket-name

S3互換サービスまたはカスタムエンドポイントの場合:

ターミナル ウィンドウ
npx @capgo/cli@latest bundle upload \
--s3-region us-east-1 \
--s3-apikey YOUR_ACCESS_KEY \
--s3-apisecret YOUR_SECRET_KEY \
--s3-endpoint https://s3.your-provider.com \
--s3-bucket-name your-bucket-name \
--s3-port 443 \
--no-s3-ssl # Only if your endpoint doesn't support SSL
パラメータ説明必要
--s3-region__CAPGO_KEEP_0__地域はい
--s3-apikey__CAPGO_KEEP_0__アクセスキーIDはい
--s3-apisecret__CAPGO_KEEP_0__シークレットアクセスキーはい
--s3-bucket-name__CAPGO_KEEP_0__バケット名はい
--s3-endpoint__CAPGO_KEEP_0__カスタムS3エンドポイントURLいいえ
--s3-port__CAPGO_KEEP_0__いいえ
--no-s3-sslS3アップロード用のSSLを無効にしますいいえ

バンドル準備と暗号化

バンドル準備と暗号化

S3エンドポイントを使用する場合、特に暗号化を使用する場合、カスタムストレージを使用する場合、バンドルを適切に準備する必要があります。これには、zipファイルを作成し、オプションで暗号化することが含まれます。

ステップ 1: Zip バンドルを作成する

ステップ 1: Zip バンドルを作成する

まず、zipファイルを作成してアプリケーションバンドルを圧縮してください。

ターミナル
npx @capgo/cli@latest bundle zip com.example.app --path ./dist

zipコマンドは、zipファイルのチェックサムを返します。必要に応じてzipファイルを暗号化するために、このチェックサムを使用できます。 --json このチェックサムを取得するには、

オプションを使用して、構造化された出力が含まれるようにします。

Zipコマンドオプション
「Zipコマンドオプション」のセクション
npx @capgo/cli@latest bundle zip [appId] \
--path ./dist \
--bundle 1.2.3 \
--name myapp-v1.2.3 \
--json \
--no-code-check \
--key-v2 \
--package-json ../../package.json,./package.json
コピーオプション
--pathPath to the folder to zip (defaults to webDir from capacitor.config)
--bundle__CAPGO_KEEP_0__.configからwebDirを取得するディレクトリへのパス
--nameバンドルバージョン番号をzipファイルの名前として使用
--jsonカスタム名をzipファイルの名前として使用
--no-code-checknotifyAppReady() の呼び出しとインデックス ファイルのチェックをスキップします。
--key-v2暗号化 v2 を使用します。
--package-jsonモノレポ用の package.json ファイルのパス (カンマで区切る)

ステップ 2: バンドルを暗号化 (任意)

ステップ 2: バンドルを暗号化 (任意) セクション

アップロードする前に、zip バンドルを暗号化してセキュリティを高めます。

ターミナル ウィンドウ
# Using default local key
npx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM
# Using custom key file
npx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM --key ./path/to/.capgo_key_v2
# Using key data directly
npx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM --key-data "PRIVATE_KEY_CONTENT"

この CHECKSUM パラメータは必須で、zip ファイルのチェックサムになります。zip コマンドの出力からチェックサムを取得できます (構造化された出力用のオプションを使用)。 --json 暗号化コマンドはデフォルトではローカルプライベート署名キーを使用します。カスタムキーを指定する場合は

__CAPGO_KEEP_0__ --key または --key-data オプション。

「encrypt」コマンドは、アップロードまたは復号化に必要なものを返します。 ivSessionKey 暗号化コマンドオプション

「暗号化コマンドオプション」のセクション

オプション
説明暗号化するzipファイルのパス(必須)
zipPathzipファイルのチェックサム(必須) - zipコマンドから取得
checksumプライベート署名鍵のカスタムパス(任意、ローカル鍵を使用する場合)
--keyプライベート署名鍵データ(任意)
--key-data__CAPGO_KEEP_0__
--jsonJSON形式で出力結果
  1. アプリをビルド:

    ターミナル画面
    npm run build
  2. バンドルを作成:

    ターミナル画面
    npx @capgo/cli@latest bundle zip com.example.app --path ./dist --bundle 1.2.3

    このコマンドの返されたチェックサムを注意してください。

  3. バンドルを暗号化:

    ターミナル画面
    npx @capgo/cli@latest bundle encrypt ./com.example.app-1.2.3.zip CHECKSUM_FROM_STEP_2

    Note the ivSessionKey から

  4. アップロードする: ホスティングサービスに暗号化されたzipファイルをアップロードしてください。

  5. Capgoに登録する

    ターミナル画面
    npx @capgo/cli@latest bundle upload \
    --external https://your-cdn.com/bundles/com.example.app-1.2.3.zip \
    --iv-session-key IV_SESSION_KEY_FROM_STEP_3

例2:S3への直接アップロード

例2:S3への直接アップロード
  1. アプリをビルドする

    ターミナル画面
    npm run build
  2. S3への直接アップロード

    ターミナル画面
    npx @capgo/cli@latest bundle upload \
    --s3-region us-west-2 \
    --s3-apikey YOUR_ACCESS_KEY \
    --s3-apisecret YOUR_SECRET_KEY \
    --s3-bucket-name your-app-bundles \
    --channel Production

例3:S3への暗号化アップロード

例3:暗号化S3
  1. ビルドとzip:

    ターミナル画面
    npm run build
    npx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2
  2. バンドルを暗号化:

    ターミナル画面
    npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM
  3. 暗号化S3にアップロード:

    ターミナル画面
    npx @capgo/cli@latest bundle upload \
    --s3-region us-west-2 \
    --s3-apikey YOUR_ACCESS_KEY \
    --s3-apisecret YOUR_SECRET_KEY \
    --s3-bucket-name your-app-bundles \
    --iv-session-key IV_SESSION_KEY_FROM_STEP_2 \
    --channel Production

セキュリティに関する考慮事項

セキュリティに関する考慮事項のセクション

When using custom storage, consider these security best practices:

  • アプリのユーザーにのみアクセス可能なストレージURLを確保し、パブリックに検出されないようにする
  • 署名URLまたはトークン認証を使用する場合は可能な限り使用する
  • Webベースのアプリでは適切なCORSヘッダーを実装する
  • 敏感なバンドルを常にCapgo暗号化ツールで暗号化する
  • 暗号化キーを安全に保存し、定期的にローテートする
  • モバイルおよびElectronアプリの場合、すべてのバンドルURLにHTTPSを使用する(必須)

監視

監視
  • アクセスログを監視して、異常なダウンロードパターンを検出する
  • 失敗したバンドルダウンロードのアラートを設定する
  • ストレージ権限を定期的に検証する

トラブルシューティング

トラブルシューティング

一般的な問題

一般的な問題

バンドルがダウンロードされない:

  • URLがパブリックにアクセス可能であり、HTTPSを使用していることを確認する(モバイルおよびElectronアプリ用に必須)
  • Webアプリ用のCORSヘッダーを確認する
  • バンドル形式が正しいことを確認する

暗号化エラー:

  • 確認する ivSessionKey 暗号化バンドルが正しく暗号化されたことを確認する
  • 暗号化キーが正しいことを確認する
  • 新しいバンドルには暗号化 v2 を使用する

S3 アップロード失敗:

  • S3 の資格情報と権限を確認する
  • バケットポリシーと CORS 設定を確認する
  • 指定されたリージョンが正しいことを確認する

デバッグ コマンド

デバッグ コマンド

バンドル ステータスを確認する

ターミナル画面
npx @capgo/cli@latest app debug

整合性を確認する:

ターミナル画面
npx @capgo/cli@latest bundle list
  • について学ぶ チャンネル 異なるデプロイ環境を管理する
  • 探索 更新の動作 __CAPGO_KEEP_0__をカスタマイズして更新の適用方法を変更する
  • __CAPGO_KEEP_1__を設定 CI/CD統合 __CAPGO_KEEP_0__を自動化するカスタムストレージワークフロー

カスタムストレージから続ける

__CAPGO_KEEP_2__

__CAPGO_KEEP_3__が使用している場合 カスタムストレージ セキュリティとコンプライアンスの計画に使用するには __CAPGO_KEEP_4__ __CAPGO_KEEP_4__の実装詳細について __CAPGO_KEEP_5__ Complianceの実装詳細について Capgo セキュリティ スキャナー Capgo セキュリティ スキャナー製品ワークフローについて Capgo セキュリティ Capgo セキュリティ製品ワークフローについて、そして Capgo トラスト センター Capgo トラスト センター製品ワークフローについて