ページオプションをコピー
__CAPGO_KEEP_0__
__CAPGO_KEEP_2__
__CAPGO_KEEP_3__
サンプル シナリオ例えば、以下のような状況があります:
- Appバージョン 1.2.3(古いバージョン) - 製品チャネルを使用
- App version 2.0.0 (new version with breaking changes) - v2 チャネルを使用します。
- ライブアップデート 1.2.4(1.2.3と互換性あり)
- ライブアップデート 2.0.1(2.0.0と互換性があります)
戦略:すべてのメジャーバージョンでは、defaultChannel を常に使用する
メインバージョンでは常にdefaultChannelを使用する戦略推奨アプローチ: 更新設定 defaultChannel すべてのメジャーバージョンに対して。 これにより、特定のユーザーグループにアップデートを常にプッシュできるようになり、ダイナミックチャネル割り当てに頼る必要がなくなります。
// Version 1.x releasesdefaultChannel: 'v1'
// Version 2.x releasesdefaultChannel: 'v2'
// Version 3.x releases (future)defaultChannel: 'v3'1. __CAPGO_KEEP_0__
セクションのタイトル “1. バージョン 2.0.0 のための新しいチャンネルを作成””# Create channel for version 2.xnpx @capgo/cli channel create v22. バージョン 2.0.0 のための Capacitor の設定を更新
セクションのタイトル “2. バージョン 2.0.0 のための Capacitor の設定を更新””バージョン 2.0.0 をアプリストア用にビルドする前に、Capacitor の設定を更新してください:
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = { appId: 'com.example.app', appName: 'Example App', plugins: { CapacitorUpdater: { // ... other options defaultChannel: 'v2' // All 2.0.0 users will use v2 channel } }};
export default config;3. 分離されたCodeブランチを管理する
セクションのタイトル “3. 分離されたCodeブランチを管理する”アプリのバージョン間の互換性を維持するために、別々のGitブランチを作成してください:
# Create and maintain a branch for version 1.x updatesgit checkout -b v1-maintenancegit push origin v1-maintenance
# Your main branch continues with version 2.x developmentgit checkout main重要: 古いアプリが期待するネイティブcode/APIを備えていない場合には、JavaScriptバンドルをpushしてはいけません。 どのブランチからも適切な更新をビルドしてください:
- v1-maintenanceブランチ: 1.xアプリの更新 (プロダクションチャンネル) について
- メイン ブランチ: 2.x アプリケーション (v2 チャネル) の更新について
4. 各チャネルにバンドルをアップロードする
「4. 各チャネルにバンドルをアップロードする」セクション# For 1.x updates: Build from v1-maintenance branchgit checkout v1-maintenance# Make your 1.x compatible changes herenpx @capgo/cli bundle upload --channel production
# For 2.x updates: Build from main branchgit checkout main# Make your 2.x changes herenpx @capgo/cli bundle upload --channel v25. 自分自身の割り当てを有効にする
「5. 自分自身の割り当てを有効にする」セクション# Allow apps to self-assign to v2 channelnpx @capgo/cli channel set v2 --self-assign6. アプリ ストアにデプロイする
「6. アプリ ストアにデプロイする」セクションアプリストアにバージョン 2.0.0 をビルドおよびデプロイします。 このバージョンをダウンロードするすべてのユーザー(新規ユーザーまたはアップグレード中の既存ユーザー)は、バンドルに設定されているため、自動的に v2 チャンネルを使用します。
「将来のバージョンへの拡大」
バージョン 3.0.0 をリリースする際に、さらに破壊的な変更が含まれる場合:ターミナルウィンドウ
# Create channel for version 3.xnpx @capgo/cli channel create v3// capacitor.config.ts for version 3.0.0const config: CapacitorConfig = { // ... plugins: { CapacitorUpdater: { defaultChannel: 'v3' // Version 3.x users } }};現在は、任意のバージョンにアップデートをプッシュできます:
productionチャンネル → バージョン 1.x ユーザーv2チャンネル → バージョン 2.x ユーザーv3チャンネル → バージョン 3.x ユーザー
7. クリーンアップ (移行後)
「7. クリーンアップ (移行後)」のセクションバージョン 2.x にすべてのユーザーが移行した後 (約 3-4 か月後):
- 削除
defaultChannelCapacitor の設定から削除 - バージョン 2 のチャンネルを削除:
npx @capgo/cli channel delete v2- v1-maintenance branchを削除してください:
git branch -d v1-maintenancegit push origin --delete v1-maintenance各チャンネルでテストを徹底的に行うことで、常に更新を安全に展開することができます。
バージョン1.xの更新の維持
「バージョン1.xの更新の維持」バージョン 1.x に対応する更新を送信するには:
- バージョン 1.x のメンテナンスブランチに切り替えます:
git checkout v1-maintenance- 変更を加えてコミットしてください:
# Make 1.x compatible changesgit add .git commit -m "Fix for v1.x"git push origin v1-maintenance- ビルドしてプロダクションチャンネルにアップロードしてください:
npx @capgo/cli bundle upload --channel productionBreaking Changesから続けてください。
Breaking Changesから続けてくださいセクションのタイトルCapgoを使用している場合 Breaking Changes Capgoのチャネルルーティングとステージドロールを計画するために使用するには、Channelsを接続してください。 チャンネル チャンネル チャンネル チャンネル チャンネル チャンネル ベータテスト ソリューション ベータテスト ソリューションにおける製品ワークフロー、および バージョン ターゲット ソリューション バージョン ターゲット ソリューションにおける製品ワークフロー。