コンテンツにスキップ

コピー

一般的なCapgoセットアップでは、 開発 運用 運用 チャンネル。CIはOTAバンドルをアップロードし、 devそしてチャンネルを production のときにチャンネルを --fail-on-incompatible so CI cannot ship a live update that needs new native code by accident.

のライブアップデートを意図的に送信する必要があるため、CIは のライブアップデートを送信することはできません。 このページでは、次の質問に答えています。 チャンネルの

If you need the background on why Capgo compares native packages, start with のライブアップデートを送信する必要がある場合に何をするか. For a full CI branch that picks OTA vs Capgo Build automatically, see のライブアップデートを送信する必要がある場合に何をするか.

このガイドでは、 devproduction チャンネルがすでに存在することを前提としています。必要に応じて作成してください:

ターミナル画面
npx @capgo/cli@latest channel add production com.example.app
npx @capgo/cli@latest channel add dev com.example.app
チャネル誰が受け取るか通常のアップロード
dev内部/QAビルドJS (および意図的なネイティブベースライン) のCIプッシュごとに
productionユーザーリリース用にアップロードされる場合のみ

--fail-on-incompatible 両チャネルでデフォルトとしてはよい 毎日OTAのアップロードです。アップロードしているバンドル内のネイティブパッケージを 現在チャンネルで公開されているバンドルと比較します。パッケージが異なると、エラーが発生しアップロードはキャンセルされます。

JavaScriptのみの変更の場合、ネイティブパッケージがチャンネルと一致する場合:

ターミナル画面
npx @capgo/cli@latest bundle upload com.example.app \
--channel production \
--fail-on-incompatible \
--auto-min-update-version

--fail-on-incompatible blocks accidental native drift. --auto-min-update-version はアップロードごとに必要になります。チャンネルがこの戦略を使用する場合、 metadata チャンネルがまだこの戦略を使用していない場合は、 metadata まだ使用しない --auto-min-update-version アップロードするまで

オプションのCIゲート:

ターミナル画面
npx @capgo/cli@latest bundle releaseType com.example.app --channel production
# → OTA safe to upload with --fail-on-incompatible
# → native stop; ship a native binary first (see below)

意図的なネイティブのバージョンアップ (フラグを一度だけ落とす)

セクションのタイトル “意図的なネイティブのバージョンアップ (フラグを一度だけ落とす)”

あなたは context:HTMLテキストのフラグメント。長いCapgo UIの文字列の親キー `you_definition`。ページ/エリア: Capgoのマーケティングウェブサイト。役割: 長いマーケティングまたは法的文章。ページ: page disclaimer.astro、page return.astro。メッセージキー `you_definition` (あなたの定義)。 新しいネイティブ code を必要とするバンドルをアップロードしながら --fail-on-incompatibleその旗は、目的の場合にのみそのケースをブロックするために存在します。 プラグイン、Capacitor バージョン、または他のネイティブ依存関係が意図的に変更されたとき:

  1. 対応する ネイティブバイナリ アプリストア/プレイストア、または Capgo ビルド).
  2. 対応するJSバンドルをアップロード without --fail-on-incompatible.
  3. チャンネルを --auto-min-update-version 戦略に設定することにより、古いバイナリにまだいるデバイスが新しいバンドルを受信するのを防ぎます。 metadata その基準を確立した後、
  4. アップロードして --fail-on-incompatible 通常のOTA CIに戻す (そして続けて) --auto-min-update-version チャンネルは続けて metadata).
  1. 1回あたりのチャンネル: メタデータゲーティングを有効にする

    ターミナルウィンドウ
    npx @capgo/cli@latest channel set production com.example.app --disable-auto-update metadata

    続けて dev そのチャンネルも意図的にネイティブのベースラインを受け取る場合も同じように --auto-min-update-version この切り替え後、チャンネルにアップロードされるすべてのアップロードには --min-update-version.

  2. または

    ネイティブバイナリを配信する

  3. iOS/Androidアプリをビルドして提出する --fail-on-incompatible)

    新しいプラグインやネイティブの変更を含む。ユーザーがそのバイナリをインストールするまで、依存するネイティブパッケージに安全に実行することができないbundleを配信することはできません。
    npx @capgo/cli@latest bundle upload com.example.app \
    --channel production \
    --auto-min-update-version

    このチャンネルに新しいネイティブパッケージを記録します。後で bundle releaseType / --fail-on-incompatible チェックはその基準を使用します。

  4. ガード付きOTAアップロードを再開

    次のJSのみリリースでは、両方のフラグを使用します:

    ターミナルウィンドウ
    npx @capgo/cli@latest bundle upload com.example.app \
    --channel production \
    --fail-on-incompatible \
    --auto-min-update-version

セクションのタイトル「--fail-on-incompatibleを使用しないで、1回のアップロードは正しいアプローチですか?」 --auto-min-update-version はい。新しいバイナリを出荷した後、チャンネルのnative基準を進めるには、チャンネルのnative基準を進めるために1回のアップロードを実行することはサポートされています。--fail-on-incompatibleフラグを他のOTAアップロードに残しておくことで、誤ってnativeの基準を進めることがCIで失敗するようにします。

セクションのタイトル「はい。新しいバイナリを出荷した後、チャンネルのnative基準を進めるには、チャンネルのnative基準を進めるために1回のアップロードを実行することはサポートされています。--fail-on-incompatibleフラグを他のOTAアップロードに残しておくことで、誤ってnativeの基準を進めることがCIで失敗するようにします。

アップロード先は開発環境から始めて、プロダクション環境に進むか? dev 最初に、次に production?

「開発環境から始めて、プロダクション環境に進むか?」というセクション

はい、もしそのプロセスに合致する場合。同じルールを 各チャネルごとに互換性のチェックは、対象チャネルに現在公開されているものと比較します。プロモーションまたは再アップロードは production チャンネルが正常に動作することを確認し、ネイティブベースラインアップロード (フラグなし) を dev 各チャンネルで必要な新しいネイティブパッケージを記録するために --fail-on-incompatible新しいネイティブパッケージをアップロードする際にフラグが残っている場合どうする?

CI fails and Capgo does not ship that upload. That is the expected outcome. Either the change was accidental (fix the native packages and retry as OTA), or it was intentional (use the native path above).

パス時期旗のアップロード
OTAJSのみ;ネイティブパッケージはチャンネルに合わせる--fail-on-incompatible + --auto-min-update-version (チャンネルが有効の場合必須) metadata)
ネイティブベースライン新しいネイティブバイナリ + マッチングのJSバンドルなし --fail-on-incompatible;保持 --auto-min-update-version

アップロード、互換性、releaseType、および関連フラグのリファレンス

Native + OTA チャネルワークフローから続く

Native + OTA チャネルワークフローを使用している場合 Native + OTA チャネルワークフロー Native + OTA チャネルワークフローを安全にnativeリリース間でライブアップデートを維持するには、 Native互換性 Native互換性 パッケージ比較ルールのために Auto OTAまたはNative CIブランチングのために バージョン目標 Capgo CLI bundle reference ページ/エリア: Capgoのソリューションマーケティングページ。役割: セクションまたはページヘッダー。見られる場所: page solutions/version-targeting.astro。メッセージキー `solutions_version_targeting_title` (ソリューション バージョン ターゲット イング タイトル)。| ページ/エリア: Capgoのソリューションマーケティングページ。役割: 短UIラベルまたはナビゲーションアイテム。見られる場所: page solutions/version-targeting.astro。メッセージキー `solutions_version_targeting` (ソリューション バージョン ターゲット イング)。