article illustration Migration d'App Center à Capgo
Migration
Last update: June 29, 2023

Migration d'App Center à Capgo

Dans ce guide, nous passerons en revue étape par étape la migration complète vers Capgo Live Updates, une alternative à Microsoft CodePush.

Voici la traduction en français :

Résumé de la migration

  • Capgo est un service qui aide les équipes de développement à envoyer des mises à jour en direct aux applications déployées
  • Les applications Capacitor JS écrites en jQuery Mobile, Framework 7, Sencha, KendoUI, Ionic ou même votre propre solution personnalisée peuvent être migrées Une application Ionic existante n’est pas requise
  • Volt offre des services équivalents à App Center Build (compilation d’applications Android/iOS) pour les services de test, de diagnostic et d’analyse
Remarque

Si votre application utilise encore Cordova, il est nécessaire de migrer vers Capacitor avant de migrer vers Capgo

Développé par l’équipe Ionic comme successeur spirituel de Cordova, Capacitor permet au développement de se rapprocher des outils et des capacités natives dans le but de fournir une expérience utilisateur et des performances encore meilleures

Heureusement, le processus de migration est facile et la majorité des plugins Cordova sont rétrocompatibles avec Capacitor. Commencez la migration ici

À propos de Capgo

Capgo gère la mise à jour des applications au fil du temps. Les équipes de développement peuvent se concentrer entièrement sur les fonctionnalités uniques de leur application et externaliser le processus complexe de livraison d’applications à Capgo

Capgo comble les lacunes entre la livraison web et mobile

Prérequis de Capgo

Comme App Center, Capgo prend en charge les applications hébergées dans des dépôts Git sur Azure DevOps, Bitbucket, GitHub et GitLab

Installer Capgo CLI

remarque

Avoir Node et NPM installés sur votre ordinateur est nécessaire avant de continuer. Utilisez toujours la version LTS actuelle. Capgo ne supporte pas les versions plus anciennes

Créer les fichiers package.json et de configuration Capacitor

remarque

Avant de commencer, je recommande d’effectuer les modifications sur une nouvelle branche Git

Étant donné que Capgo a été créé pour automatiser les applications Capacitor, il nécessite un fichier que votre application peut ne pas avoir. Tout d’abord, créez un fichier capacitor.config.json. La façon la plus simple de le créer est d’exécuter à la racine de votre application :

Terminal window
npm install @capacitor/core

Ensuite, initialisez Capacitor en utilisant le questionnaire CLI :

Terminal window
npx cap init

Le CLI vous posera quelques questions, en commençant par le nom de votre application et l’ID de package que vous souhaitez utiliser pour votre application

Enfin, validez les nouveaux fichiers dans votre projet :

git add . && git commit -m "ajout de package.json et de la configuration capacitor" && git push

Migrer le code

Maintenant que vous avez les nouveaux fichiers requis par Capgo en place, vous pouvez vous concentrer sur l’application elle-même. Capgo s’attend à ce que toute l’application compilée soit à l’intérieur d’un répertoire nommé dist

Si votre code compilé n’est pas dans un répertoire dist, modifiez cette valeur dans le fichier de configuration Capacitor

Voici à quoi devrait ressembler la structure du répertoire de l’application :

Structure de l'application

Configuration de Capgo

Avec votre application prête pour l’intégration Capgo, il est temps de vous inscrire et d’obtenir votre clé API pour télécharger votre première version ! Commencez par vous inscrire pour un compte Capgo

Une fois connecté à Capgo, naviguez vers la page du compte, puis cliquez sur Clé API, puis cliquez sur la clé ‘write’ pour la copier dans votre presse-papiers

Installer le SDK Capgo

Depuis une ligne de commande, directement à la racine du dossier de votre application Capacitor, exécutez la commande suivante :

npm i @capgo/capacitor-updater && npx cap sync Pour installer le plugin dans votre application Capacitor

Puis ajoutez ce code à votre application en remplacement de celui de CodePush :

import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()

Cela indiquera au plugin natif que l’installation a réussi

Déploiement des mises à jour en direct (Alternative à CodePush)

La fonctionnalité de mise à jour en direct fonctionne en utilisant le SDK Capgo installé dans votre application native pour écouter un canal de déploiement particulier. Lorsqu’une compilation Web est assignée à un canal de déploiement, cette mise à jour sera déployée sur les appareils des utilisateurs exécutant des binaires configurés pour écouter le canal de déploiement spécifié### Connexion à Capgo CLOUD

Tout d’abord, utilisez la clé API all présente dans votre compte pour vous connecter avec le CLI :

Terminal window
npx @capgo/cli@latest login YOURKEY

Ajoutez votre première application

Commençons par créer l’application dans Capgo Cloud avec le CLI

npx @capgo/cli@latest app add

Cette commande utilisera toutes les variables définies dans le fichier de configuration Capacitor pour créer l’application

Téléchargez votre premier bundle

Exécutez la commande pour compiler votre code et l’envoyer à Capgo avec :

Terminal window
npx @capgo/cli@latest bundle upload --channel production

Par défaut, le nom de la version sera celui de votre fichier packagejson

Vérifiez dans Capgo si la construction est présente

Vous pouvez même la tester avec mon application mobile sandbox

Faire du canal le canal par défaut

Après avoir envoyé votre application à Capgo, vous devez faire de votre canal default pour permettre aux applications de recevoir des mises à jour de Capgo

Terminal window
npx @capgo/cli@latest channel set production -s default

Configurer l’application pour valider les mises à jour

Ajoutez cette configuration à votre fichier JavaScript principal

import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()

Ensuite, faites un npm run build && npx cap copy pour mettre à jour votre application

Recevoir une mise à jour en direct sur un appareil

Pour que votre application reçoive une mise à jour en direct de Deploy, vous devrez exécuter l’application sur un appareil ou un émulateur. La façon la plus simple de le faire est simplement d’utiliser la commande suivante pour lancer votre application locale dans un émulateur ou un appareil connecté à votre ordinateur

npx cap run [ios | android]

Ouvrez l’application, mettez-la en arrière-plan et ouvrez-la à nouveau, vous devriez voir dans les logs que l’application a effectué la mise à jour

Félicitations ! 🎉 Vous avez réussi à déployer votre première mise à jour en direct. Ce n’est que le début de ce que vous pouvez faire avec les mises à jour en direct. Pour en savoir plus, consultez la documentation complète Live Updates

Supprimer les dépendances d’App Center

Maintenant que nous avons intégré les services de Capgo, vous devriez supprimer toutes les références à App Center. En plus d’être une bonne pratique de supprimer le code/services inutilisés, la suppression du SDK devrait réduire la taille de vos applications

Tout d’abord, ouvrez un terminal puis désinstallez les plugins App Center :

Terminal window
cordova plugin remove cordova-plugin-appcenter-analytics cordova-plugin-appcenter-crashes cordova-plugin-code-push

Ensuite, ouvrez configxml et supprimez les valeurs preference suivantes. Elles ressembleront à :

<preference name="APP_SECRET" value="0000-0000-0000-0000-000000000000" /><preference name="CodePushDeploymentKey" value="YOUR-ANDROID-DEPLOYMENT-KEY" /><preference name="CodePushPublicKey" value="YOUR-PUBLIC-KEY" />

Si vous utilisiez App Center Analytics dans votre application, supprimez les éléments preferences suivants : APPCENTER_ANALYTICS_ENABLE_IN_JS et APPCENTER_CRASHES_ALWAYS_SEND

Supprimez les éléments <preference name="APP_SECRET" value="0000-0000-0000-0000-000000000000" /> suivants :

<access origin="https://codepush.appcenter.ms" /><access origin="https://codepush.blob.core.windows.net" /><access origin="https://codepushupdates.azureedge.net" />

Supprimez la référence à CodePush dans la balise meta CSP dans le fichier indexhtml (https://codepushappcenterms) :

<meta http-equiv="Content-Security-Policy" content="default-src https://codepush.appcenter.ms 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *" />

Enfin, dans votre application, supprimez toutes les références de code aux services App Center, telles que codePushsync();

Prochaines étapes

Vous avez migré d’App Center vers Capgo, en utilisant les mises à jour en direct. Ce n’est que le début de ce que vous pouvez utiliser Capgo pour. Explorez le reste du service, y compris les canaux (environnements multiples) et l’intégration du CLI Cloud, utilisez Capgo dans votre plateforme CI/CD de choix (comme GitHub Action, GitLab, Jenkins, et plus encore)

Envoi automatique des mises à jour de l’application

Si votre code est hébergé sur GitHub, vous pouvez configurer la construction et la publication automatiques en quelques étapes supplémentaires, grâce aux actions GitHub

J’ai rédigé un deuxième article pour vous permettre de le faire

Crédits

Merci beaucoup à Ionic, cet article est basé sur cet article réécrit avec chat-gpt-3 et adapté

Dernières actualités

Capgo vous offre les meilleures informations dont vous avez besoin pour créer une application mobile vraiment professionnelle.