コンテンツにジャンプ

カスタムストレージ

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アップロード

Section titled “External URL Upload”

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

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

Capgoに指定されたURLのバンドルを参照するように指示します。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で設定します。

S3アップロードオプション

「S3アップロードオプション」
ターミナル画面
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の完全な設定

「S3の完全な設定」

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の設定パラメータ

「S3の設定パラメータ」
パラメータ説明必要
--s3-regionS3 バケットのAWSリージョンはい
--s3-apikeyS3アクセスキーIDはい
--s3-apisecretS3シークレットアクセスキーはい
--s3-bucket-nameS3バケットの名前はい
--s3-endpointカスタムS3エンドポイントURLNo
--s3-portS3エンドポイントのポートNo
--no-s3-sslS3アップロード用にSSLを無効にするNo

バンドル準備と暗号化

バンドル準備と暗号化

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

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

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

最初に、zipファイルを作成してアプリケーションバンドルを圧縮してください:

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

zipコマンドは、zipファイルのチェックサムを返します。このチェックサムを使用して、zipファイルを暗号化する必要がある場合は、暗号化できます。必要に応じて、 --json オプションを使用して、構造化された出力を受け取ることができます。

ターミナルウィンドウ
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
オプション説明
--pathcapacitor.configからwebDirを取得するディレクトリへのパス
--bundleバンドルバージョン番号をzipファイルの名前として使用
--namezipファイルのカスタム名
--jsonJSON形式で出力結果 (チェックサムを含む)
--no-code-checknotifyAppReady()の呼び出しとindexファイルのチェックをスキップ
--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"

The CHECKSUM パラメータは必須で、zipファイルのチェックサムになります。zipコマンドの出力からチェックサムを取得できます (構造化出力のオプションを使用してください)。 --json parameter is required and should be the checksum of your zip file. You can get the checksum from the zip command output (use __CAPGO_KEEP_0__ for structured output).

デフォルトでは、エンコードコマンドはローカルプライベート署名キーを使用します。カスタムキーを指定するには --key または --key-data Capacitorライブアップデートの代替

エンコードコマンド ivSessionKey エンコードコマンド

オプション

セクション
オプション説明
zipPathエンコードするzipファイルのパス(必須)
checksumzipファイルのチェックサム(必須)- zipコマンドから取得
--keyプライベート署名キー用のカスタムパス(省略可、ローカルキーを使用する場合はデフォルト)
--key-dataプライベート署名キー データを直接 (任意)
--json結果を JSON 形式で出力します

「完全なワークフロー例」のセクション

例 1: エンコード URL

「例 1: エンコード URL」のセクション

アプリをビルドしてください:
  1. Private signing key data directly (optional)

    ターミナル画面
    npm run build
  2. zipアーカイブを作成します:

    ターミナル画面
    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

    出力から ivSessionKey を注意してください。

  4. あなたのストレージにアップロードします: __CAPGO_KEEP_0__に登録してください。

  5. Register with 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への直接アップロード

アプリをビルドしてください。
  1. ターミナル画面

    クリップボードにコピー
    npm run build
  2. ターミナル画面

    クリップボードにコピー
    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
  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

セキュリティ上の考慮事項

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

カスタム ストレージを使用する場合、次のセキュリティのベスト プラクティスを考慮してください。

アクセス制御

アクセス制御
  • アプリのユーザーにストレージ URL をアクセス可能にするが、パブリックに発見されないようにする
  • 署名 URL またはトークンベースの認証を使用する
  • Web ベースのアプリでは適切な CORS ヘッダーを実装する

暗号化

暗号化
  • 敏感なバンドルを Capgo の暗号化ツールで常に暗号化する
  • 暗号化キーを安全に保存し、定期的にローテートする
  • すべてのバンドル URL に HTTPS を使用する (モバイルと Electron アプリでは必須)
  • アクセスログを監視して不正なダウンロードパターンを検出する
  • 失敗したバンドルダウンロードのアラートを設定する
  • ストレージ権限を定期的に検査する

バンドルダウンロードができません:

  • URLがパブリックにアクセス可能かつHTTPSを使用していることを確認する(モバイルおよびElectronアプリ用に必須)
  • Webアプリ用のCORSヘッダーを確認する
  • バンドルのフォーマットが正しいことを確認してください。

暗号化エラー:

  • を確認してください。 ivSessionKey 暗号化されたバンドルと一致していることを確認してください。
  • 正しいキーで暗号化されたことを確認してください。
  • 新しいバンドルでは暗号化v2を使用することを確認してください。

S3アップロードエラー:

  • S3のクレデンシャルと権限を確認してください。
  • バケットポリシーとCORS設定を確認してください。
  • 正しいリージョンが指定されていることを確認してください。

バンドル状態を確認:

ターミナルウィンドウ
npx @capgo/cli@latest app debug

バンドル完整性を検証:

ターミナルウィンドウ
npx @capgo/cli@latest bundle list
  • 短いUIラベルまたはナビゲーションアイテム ネイティブビルドビルダークレジット次のステップ 「次のステップ」セクション
  • 学びましょうについての情報を取得するには、以下のステップを実行してください。 アップデートの動作 アップデートの適用方法をカスタマイズする
  • 設定 CI/CD統合 コンテキスト:Capgo Builder /ネイティブクラウドビルド製品ページ。役割:短いUIラベルまたはナビゲーションアイテム。メッセージキー`native_build_feature_ci_cd` (Native Build Feature Ci Cd)。

ワークフローを自動化するために

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

セクション「カスタムストレージから続ける」 カスタムストレージを使用している場合 カスタムストレージ セキュリティとコンプライアンスを計画するために、カスタムストレージを 暗号化 適合性 適合性の実装詳細について Capgo セキュリティ スキャナー Capgo セキュリティ スキャナーの製品ワークフローについて Capgo セキュリティ Capgo セキュリティの製品ワークフローについて Capgo トラスト センター Capgo トラスト センターの製品ワークフローについて