Changements de rupture
Copier un prompt de configuration avec les étapes d'installation et la guide markdown complète pour ce plugin.
Cette documentation explique comment gérer les changements majeurs dans votre application en utilisant des canaux versionnés. Cette approche vous permet de maintenir différentes versions de votre application tout en vous assurant que les utilisateurs reçoivent des mises à jour compatibles.
Scénario d'exemple
Titre de la section « Scénario d'exemple »Supposons que vous ayez :
- Version d'application 1.2.3 (ancienne version) - utilise le canal de production
- Version d'application 2.0.0 (nouvelle version avec des modifications de rupture) - utilise le canal v2
- Mise à jour en direct 1.2.4 (compatible avec 1.2.3)
- Mise à jour en direct 2.0.1 (compatible avec 2.0.0)
Stratégie : Utilisez toujours defaultChannel pour les versions majeures
Section intitulée « Stratégie : Utilisez toujours defaultChannel pour les versions majeures »Approche recommandée : Définissez un defaultChannel pour chaque version majeure. Cela vous permet de pousser toujours des mises à jour vers des groupes d'utilisateurs spécifiques sans dépendre de l'affectation dynamique du canal.
// Version 1.x releasesdefaultChannel: 'v1'
// Version 2.x releasesdefaultChannel: 'v2'
// Version 3.x releases (future)defaultChannel: 'v3'1. Créer un canal pour la nouvelle version
Section intitulée “1. Créer un canal pour la nouvelle version”# Create channel for version 2.xnpx @capgo/cli channel create v22. Mettre à jour la configuration Capacitor pour la version 2.0.0
Section intitulée « 2. Mettre à jour la configuration Capacitor pour la version 2.0.0 »Mettez à jour votre configuration Capacitor avant de construire la version 2.0.0 pour l'app store :
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. Gérer les branches Code séparées
Titre de la section : 3. Gérer les branches Code séparéesCréez des branches Git séparées pour maintenir la compatibilité entre les versions de l'application :
# 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 mainCritique : N'envoyez jamais les paquets JavaScript vers les anciennes applications qui attendent des code/APIs natifs qu'elles ne possèdent pas. Construisez toujours les mises à jour à partir de la branche appropriée :
- Branch de maintenance v1: Pour les mises à jour des applications 1.x (chaîne de production)
- : Pour les mises à jour des applications 2.x (chaîne v2)Branch principale
4. Chargement des Bundles dans les Canaux Respectifs
Section intitulée “4. Chargement des Bundles dans les Canaux Respectifs”# 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. Activer l'Affectation Auto
Section intitulée “5. Activer l'Affectation Auto”# Allow apps to self-assign to v2 channelnpx @capgo/cli channel set v2 --self-assignNote
Échelle vers les futures versions
Section intitulée « Échelle vers les futures versions »Lorsque vous publiez la version 3.0.0 avec plus de changements de rupture :
# 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 } }};Vous pouvez maintenant envoyer des mises à jour vers n'importe quelle version :
productioncanal → Utilisateurs de la version 1.xv2canal → Utilisateurs de version 2.xv3canal → Utilisateurs de version 3.x
7. Nettoyage (Après Migration)
Section intitulée “7. Nettoyage (Après Migration)”Une fois que tous les utilisateurs ont migré vers la version 2.x (durée de 3-4 mois) :
- Supprimer
defaultChannelde votre Capacitor config - Supprimer le canal v2 :
npx @capgo/cli channel delete v2- Supprimer la branche v1-maintenance :
git branch -d v1-maintenancegit push origin --delete v1-maintenanceTestez toujours les mises à jour soigneusement dans chaque canal avant la mise en production
Maintenir les mises à jour de la version 1.x
Section intitulée “Maintenir les mises à jour de la version 1.x”Pour envoyer des mises à jour compatibles avec la version 1.x :
- Passer au branch v1-maintenance :
git checkout v1-maintenance- Appliquez vos modifications et commitez :
# Make 1.x compatible changesgit add .git commit -m "Fix for v1.x"git push origin v1-maintenance- Construire et publier dans le canal de production :
npx @capgo/cli bundle upload --channel production