Passer à la navigation principale
Tutoriel

Capgo Pratiques de l'environnement : Staging avec un seul ID d'application mobile

Un guide pratique pour éviter les ID d'application dupliqués et les drapeaux de runtime fragiles en utilisant Capgo des canaux pour le staging, la QA et la production dans Capacitor les applications.

Martin Donadieu

Martin Donadieu

Responsable de contenu

Capgo Pratiques de l'environnement : Staging avec un seul ID d'application mobile

Les équipes choisissent généralement l'une des trois approches pour les environnements mobiles :

  1. Deux identifiants d'application (production + pré-production)
  2. Un identifiant d'application + un environnement de temps de exécution dynamique
  3. Un identifiant d'application + Capgo canaux

Les deux premières peuvent fonctionner, mais elles créent une friction à long terme. Dans les équipes réelles, le modèle de canal Capgo est généralement le plus propre.

Pourquoi les identifiants d'application dupliqués deviennent bruyants

Utiliser com.myapp et com.myapp.beta semble simple, mais vous obtenez rapidement des duplications :

  • Deux pipelines de publication
  • Deux ensembles d'IDs de push, de liens profonds et de mappage d'entitlement
  • Deux identités d'analytique et de crash
  • Configuration divergente et comportement incohérent entre environnements

Vous finissez par gérer deux produits sur les consoles de magasin, les équipes et les instructions de test internes.

Pourquoi la configuration de basculement en temps réel est souvent chaotique

Le modèle « un ID d'application + basculement de runtime » signifie généralement que votre application lit les variables d'environnement ou les drapeaux au démarrage et re-routifie les API, les clés et le comportement de mise à jour dynamiquement.

Cela fonctionne jusqu'à ce que :

  • Les équipes de test commencent à contourner les flux prévus car l'état de la configuration est obsolète,
  • quelqu'un utilise la mauvaise adresse de point de terminaison en production,
  • le dérive de l'environnement entraîne des bogues difficiles à reproduire,
  • vous devez déboguer « quelle version de configuration utilise ce binaire ? » sur un appareil utilisateur.

Cette complexité augmente avec chaque mise à jour et c'est là que les équipes perdent de la vitesse.

La façon Capgo : un ID d'application, plusieurs canaux

Capgo contrôle les environnements de manière explicite à travers les canaux :

  • Conservez une ID d'application de production dans l'App Store / Play.
  • Expédiez une seule version native pour la « coquille » (jusqu'à ce que des modifications natives nécessitent une véritable reconstruction).
  • Configurez le comportement de routage par canal, et non par une identité d'application dupliquée.

En pratique, cela signifie :

  • production: Tous les utilisateurs
  • staging: QA interne et candidats à la mise en production
  • beta: Testeurs invités
  • hotfix: Voie de mise à jour d'urgence

Votre application de test interne TestFlight/Play peut rester sur staging à tout jamais. Vous pouvez mettre à jour JS/CSS/actifs à plusieurs reprises dans Capgo sans publier une nouvelle application native.

1) Base de lancement native de référence

Votre dernier binaire natif reste le même pour de nombreuses itérations de JS :

bun run build
bunx cap sync
# generate Xcode/Android Studio archives as usual

Vous ne rebuild que le binaire natif lorsque vous avez effectivement changé la superficie native.

2) Utilisez des canaux dédiés pour les environnements

Publiez les mises à jour avec les canaux :

bun run build
bunx @capgo/cli deploy --channel staging

Testez sur QA, corrigez les problèmes, puis promouvez :

bunx @capgo/cli promote vX.Y.Z --channel production

Si vous préférez une versionnement explicite :

bunx @capgo/cli deploy vX.Y.Z --channel staging
bunx @capgo/cli promote vX.Y.Z --channel production

3) Gardez TestFlight “toujours pré-prod”

Dans les workflows iOS, cela signifie que votre build TestFlight peut rester associé aux mises à jour pré-production :

  • Aucun soumission fréquent de binaire natif pour chaque changement de JS.
  • QA always validates near-production code via the staging channel.
  • Les utilisateurs de production ne reçoivent que les bundles de canal de production promus.

4) Utilisez uniquement le basculement de canal pour des workflows contrôlés

Pour les équipes avancées, exposez les commutateurs de canal contrôlés pour les utilisateurs QA/admin :

import { CapacitorUpdater } from '@capgo/capacitor-updater';

await CapacitorUpdater.setChannel({
  channel: 'staging',
  triggerAutoUpdate: true
});

Ceci est facultatif. La plupart des équipes utilisent les affectations de canal à partir du tableau de bord et ne commutent que le canal pour les utilisateurs internes, pas tous les clients.

Liste de vérification opérationnelle

  • Un seul ID d'application (pas de duplicata d'ID de production/étape)
  • Un pipeline de construction native de base
  • La cartographie du canal est documentée (staging, beta, production, hotfix)
  • La voie de promotion est appliquée dans CI/CD
  • La reconstruction native n'est effectuée que sur des changements natifs réels
  • La mise en œuvre de retour est testée régulièrement

Avantage pratique

Cette approche supprime la dérive de l'environnement, réduit la rotation de construction et accélère les correctifs :

  • Les QA obtiennent des binaires réalistes (pas d'identité de « staging app » fictive),
  • Votre chemin TestFlight reste stable,
  • Votre équipe évite le « endettement d'ID d'application »,
  • Vous pouvez faire passer rapidement de nombreuses corrections JS uniquement par Capgo.

Le résultat final est une gouvernance plus simple : moins d'artefacts, des données de télémétrie plus propres et moins de surprises dans les opérations de lancement.

Continuez de Capgo Pratiques d'environnement de meilleure qualité : Staging avec un seul ID d'application mobile.

Si vous utilisez Capgo Pratiques d'environnement de meilleure qualité : Staging avec un seul ID d'application mobile pour planifier la routage de canal et la mise en production étalée, connectez-le avec Channels pour les détails d'implémentation dans Channels, Channels pour les détails d'implémentation dans Channels Canaux pour les détails d'implémentation dans Canaux, Solution de test bêta pour le flux de travail du produit dans Solution de test bêta, et Solution de ciblage de version pour le flux de travail du produit dans Solution de ciblage de version.

Mises à jour en direct pour les applications Capacitor

Lorsqu'un bug de couche web est en ligne, expédiez la correction à travers Capgo au lieu d'attendre des jours pour l'approbation de la boutique d'applications. Les utilisateurs reçoivent la mise à jour en arrière-plan tandis que les modifications natives restent dans le chemin de revue normal.

Commencez dès maintenant

Dernières actualités de notre blog

Capgo vous offre les meilleures informations nécessaires pour créer une application mobile véritablement professionnelle.