Passer au contenu principal

Configurer les CI/CD pour les applications Capacitor

Apprenez à rationaliser vos lancements d'applications pour iOS et Android en utilisant des pipelines CI/CD, améliorant l'efficacité et réduisant les erreurs.

Configurer les CI/CD pour les applications Capacitor

Voulez-vous des mises à jour d'applications plus rapides et sans erreur pour iOS et Android ? Les pipelines CI/CD pour Capacitor Les applications automatisent la construction, le test et la mise en production, réduisant les temps de mise en production de jusqu'à 70 % et les erreurs de 60 %. Ce guide couvre tout ce dont vous avez besoin de savoir, de la configuration de votre environnement à l'automatisation des mises à jour en direct avec Capgo.

Résultats clés :

  • Pourquoi les CI/CD sont-ils importants pour les Capacitor : Accélèrent les builds de 78 % et réduisent les rejets de magasins de 60 %.
  • Les outils essentiels: Xcode, Android Studio, CocoaPods, et plus.
  • Configuration de pipeline: Automatiser des tâches comme npx cap sync, la mise en cache de dépendances et les builds spécifiques au plateau.
  • Mises à jour en direct avec Capgo: Activer les mises à jour post-sortie avec des déploiements étalés et des garanties de reversion.

Étapes Rapides de Configuration :

  1. Préparez votre environnement: Installez les outils requis pour iOS et Android.
  2. Configurez votre projet: Mettez à jour capacitor.config.ts et gérer les variables d'environnement de manière sécurisée.
  3. flux de construction: Automatiser l'installation des dépendances, la construction et les tests pour les deux plateformes.
  4. optimiser les performances: Utiliser le cache, les constructions parallèles et les workflows conditionnels.
  5. ajouter des mises à jour en temps réel: Intégrer Capgo pour des mises à jour OTA sécurisées avec des déploiements étalés.

Avec CI/CD, les applications Capacitor atteignent des lancements plus rapides et plus fluides tout en minimisant les erreurs et les interventions manuelles. Prêt à optimiser votre flux de travail ? Allons-y !

Intégrer vos flux de construction existants avec des capacités mobiles

Préparer votre environnement CI/CD

Une fois que vous avez les bases de CI/CD, l'étape suivante consiste à configurer votre environnement. C'est la base de l'automatisation fiable.

Outils et Logiciels de Configuration

Assurez-vous d'avoir ces outils clés installés :

Pour le développement iOS :

  • Xcode 14 ou une version plus récente
  • Outils de ligne de commande Xcode
  • CocoaPods pour gérer les dépendances

Pour le développement Android :

  • Android Studio
  • Android SDK 33 ou une version supérieure
  • Kit de développement Java (JDK)

Pour confirmer que vos Outils de ligne de commande Xcode sont installés, utilisez :

xcode-select -p

Création d'un Capacitor Configuration de votre projet

Documentation du framework Capacitor

Votre projet Capacitor doit être configuré correctement pour les workflows CI/CD. Le capacitor.config.ts Ce fichier s'assure que votre projet est conforme aux exigences CI/CD.

const config: CapacitorConfig = {
  appId: 'com.example.app',
  webDir: 'build',
  ios: { 
    scheme: 'MyApp'
  }
}

Configuration des variables d'environnement

Gestion des informations d'identification de manière sécurisée est une partie clé de la liaison de votre configuration d'environnement avec la chaîne de pipeline CI/CD.

Variables clés à définir :

: Spécifie la phase de déploiement (par exemple,

  • BUILD_ENV: Votre certificat de signature __CAPGO_KEEP_0__ production)
  • IOS_SIGNING_IDENTITYcode
  • ANDROID_KEYSTORE_PATH: Chemin vers votre clé de stockage Android

Pour les builds Android, générer dynamiquement un fichier pendant le processus CI : local.properties Quand vous travaillez avec des builds iOS, assurez-vous que votre plateforme CI prend en charge des agents macOS.

echo "sdk.dir=$ANDROID_SDK_ROOT" > android/local.properties

Pour vérifier si votre environnement est prêt :

Gérer correctement les clés et les informations d'identification peut considérablement réduire les chances de rejets de l'application dans les magasins, comme le montre les statistiques précédentes

node --version | grep "v16" && xcodebuild -version | grep "Xcode 14" || exit 1

Créer votre pipeline CI/CD [1].

Une fois votre environnement prêt, la prochaine étape consiste à configurer un pipeline CI/CD pour votre

__CAPGO_KEEP_0__ Capacitor appCe pipeline doit gérer efficacement les actifs web et les builds de plateformes natives.

Installer et mettre à jour les dépendances

Dans les environnements CI/CD, gérer les dépendances nécessite un contrôle strict des versions. Commencez par un processus d'installation propre :

npm install --ignore-scripts
npm install @capacitor/cli

Pour accélérer les builds, utilisez la mise en cache des dépendances. Par exemple, Azure DevOps Les utilisateurs ont vu leurs temps de build s'améliorer de 40 à 60 % avec ce paramétrage :

- task: Cache@2
  inputs:
    key: 'npm | "$(Agent.OS)" | package-lock.json'
    path: |
      node_modules
      android/.gradle
      ios/Pods

Paramétrage de la construction pour iOS et Android

Voici comment configurer les builds pour les deux plateformes :

Configuration de la construction pour iOS :

steps:
  - task: InstallAppleCertificate@2
    inputs:
      certSecureFile: 'certificate.p12'
      certPwd: $(P12_PASSWORD)
  - script: |
      xcodebuild -workspace ios/App/App.xcworkspace -scheme App -configuration Release -archivePath ios/App/App.xcarchive archive

Configuration de la construction pour Android :

cd android
./gradlew bundleRelease

Étapes de test et de déploiement

Exécutez les tests de plateforme en parallèl’en utilisant une stratégie de matrice :

test:
  steps:
    - run: npm run test:unit
    - run: npm run test:e2e
    - name: Run Platform Tests
      matrix:
        platform: [ios, android]
      run: npm run test:${{ matrix.platform }}

Pour le déploiement, configurez la gestion d'artefacts spécifique à la plateforme :

Plateforme Type d'artefact Distribution Channel
iOS .ipa App Store Connect
Android .aab Google Play Console

En utilisant des builds parallèles, vous pouvez réduire considérablement le temps d'exécution de votre pipeline lorsque vous configurez correctement.

Une fois que vos builds sont validés et emballés, vous êtes prêt à passer à des mises à jour en direct avec Capgo (discuté dans la section suivante).

sbb-itb-f9944d2

Ajouter Capgo Mises à jour en direct

Capgo Interface de tableau de bord des mises à jour en direct

Intégrer Capgo à votre flux de travail améliore votre processus CI/CD en permettant les mises à jour après la mise en production. Voici comment l'installer :

Capgo Configuration de pipeline

Premièrement, installez le Capgo CLI dans votre environnement de pipeline :

steps:
  - name: Install Capgo CLI
    run: npm install -g @capgo/cli
  - name: Configure Authentication
    env:
      CAPGO_KEY: ${{ secrets.CAPGO_API_KEY }}

Cette addition étend votre cycle de vie CI/CD en incorporant la gestion des mises à jour à votre processus de construction et de déploiement automatisé. Ensuite, incluez la commande d'upload après vos étapes de construction :

Mises à jour

- name: Upload Update
  run: |
    capgo upload --api-key $CAPGO_KEY --bundle ./build/app-release.apk
    capgo deploy v${VERSION} --channel production

__CAPGO_KEEP_0__ mises à jour sécurisées, configurez les paramètres de validation comme suit :

{
  "verification": {
    "checksum": "strict",
    "certificatePinning": true,
    "updateTimeout": 500
  }
}

Capgo Vue d'ensemble des fonctionnalités

Fonctionnalité Description
Chiffrement de bout en bout context : Page/zone : Page de marketing des solutions Capgo. Rôle : En-tête de section ou de page. Vu dans : page solutions/fintech.astro. Clé de message `solutions_fintech_cert3_title` (Titre des solutions Fintech Cert3). | Page/zone : Page de marketing des solutions Capgo. Rôle : En-tête de section ou de page. Vu dans : page solutions/fintech.astro. Clé de message `solutions_fintech_sol3_title` (Titre des solutions Fintech Sol3). | Page/zone : Page de marketing des solutions Capgo. Rôle : Étiquette de navigation ou élément de navigation court. Vu dans : page solutions/healthcare.astro. Clé de message `solutions_healthcare_sol3_title` (Titre des solutions Santé Sol3). | Page/zone : Page de marketing des solutions Capgo. Rôle : Étiquette de navigation ou élément de navigation court. Vu dans : page solutions/fintech.astro. Clé de message `solutions_fintech_badge_e2e` (Étiquette de badge Fintech E2e). | Page/zone : Page de marketing des solutions Capgo. Rôle : Étiquette de navigation ou élément de navigation court. Vu dans : page solutions/healthcare.astro. Clé de message `solutions_healthcare_badge_e2e` (Étiquette de badge Santé E2e).
Réduit considérablement les erreurs de déploiement. Déploiement basé sur le canal
Personnalise les mises à jour en fonction des environnements spécifiques. Lancements étalés

Assure que les mises à jour soient distribuées progressivement.

Améliorez vos processus de test en suivant ces principaux indicateurs après la mise en production :

Stratégie de déploiement étape par étape

Utilisez un lancement étape par étape pour contrôler la façon dont les mises à jour sont distribuées :

- name: Staged Rollout
  run: |
    capgo deploy v1.2.3 --group "beta-users" --rollout 10%
    capgo deploy v1.2.3 --rollout 50%

Suivi des mises à jour

Surveillez ces indicateurs :

  • Taux d'adoption: Visez 40-60 % dans les 24 premiers heures.
  • Séances sans crash: Maintenez au-dessus de 99,5 %.
  • Temps de vérification: Assurez-vous qu'il est inférieur à 500 ms.

Si les crashes dépassent les niveaux acceptables, automatiser un retour en arrière :

- name: Rollback Check
  run: |
    if [ $(capgo stats --version v1.2.3 --metric crashes) -gt 2 ]; then
      capgo rollback --channel production
    fi

Amélioration de la performance de la pipeline

En se concentrant sur trois domaines clés, vous pouvez constater des améliorations notables dans votre pipeline :

Optimisation de la vitesse de construction

Pour les modifications uniquement web, en utilisant npx cap sync peut économiser du temps en sautant les reconstructions natives complètes, réduisant ainsi le temps de reconstruction de près de 40 %. Voici comment vous pouvez mettre en œuvre la construction conditionnelle :

- name: Build Strategy
  run: |
    [ "$WEB_ONLY" = true ] && npx cap sync || (./gradlew assembleRelease && xcodebuild ...)

Cette approche garantit que seuls les composants nécessaires sont reconstruits, simplifiant ainsi le processus.

Automatisation du contrôle de version

L'automatisation du contrôle de version peut simplifier votre flux de travail. Utilisez le script suivant pour définir dynamiquement la version et les numéros de construction :

- name: Set Version
  run: |
    VERSION=$(node -p "require('./package.json').version")
    BUILD_NUMBER=$GITHUB_RUN_NUMBER
    echo "APP_VERSION=${VERSION}" >> $GITHUB_ENV
    echo "BUILD_ID=${BUILD_NUMBER}" >> $GITHUB_ENV

De plus, la versionnement semantique automatisé peut être configuré avec cette configuration :

{
  "scripts": {
    "version": "standard-version",
    "build:prod": "npm version patch && ionic build --prod"
  }
}

Ces pratiques fournissent un cadre solide pour suivre et améliorer la performance de la pipeline à travers des indicateurs comme :

  • Temps de construction par étape
  • Efficacité de la cache (taux de frappes/ratios de manquantes)
  • Consommation maximale de ressources

Configuration de plusieurs environnements

La gestion de plusieurs environnements peut être simplifiée en utilisant des configurations spécifiques à l'environnement. Voici un exemple de configuration :

Environnement Fichier de configuration
Développement .env.dev
Étape de pré-production .env.staging
Production Chiffriers sécurisés

Vous pouvez configurer les environnements dynamiquement avec ce script :

- name: Configure Environment
  env:
    API_KEY: ${{ secrets.ENV_SPECIFIC_API_KEY }}
    BUNDLE_ID: ${{ parameters.bundleId }}
  run: |
    echo "ENVIRONMENT=${{ parameters.environment }}" >> $GITHUB_ENV
    echo "API_ENDPOINT=${{ parameters.apiUrl }}" >> $GITHUB_ENV

L'association de ces configurations avec la mise en ligne basée sur le canal de Capgo permet des mises à jour précises et spécifiques à l'environnement. Cela garantit des déploiements plus fluides et un meilleur contrôle du comportement de l'application dans différents environnements.

Résumé

Le rôle de CI/CD dans le développement

Utiliser les pipelines CI/CD pour les applications Capacitor accélère considérablement l'efficacité du flux de travail. Selon les données de l'industrie, les équipes peuvent atteindre 50-70% de cycles de mise à jour plus rapides grâce à des builds iOS et Android simultanés [3]. La mise en œuvre automatique de tâches telles que l'installation de dépendances et la synchronisation des plateformes réduit les erreurs de déploiement par 40-60% [1][2].

Par exemple, les équipes utilisant les pipelines Azure DevOps ont automatisé des processus tels que les étapes de build séquentielles et le packaging Xcode. Elles utilisent également des environnements paramétrés pour le développement et la production. Cette approche supprime la nécessité de manipulations manuelles de Gradle et Xcode CLI , garantissant la création de artefacts fiables chaque fois.

Ces améliorations créent les bases pour une gestion des mises à jour fluides lorsqu'elles sont associées à Capgo.

Capgo pour la gestion des mises à jour

Capgo fonctionne en parfait accord avec les pipelines CI/CD pour déployer des mises à jour instantanées tout en restant conforme aux politiques des magasins d'applications. Les mises à jour ne sont déployées qu'après avoir passé les portes de test automatiques intégrées dans le pipeline.

En combinant les builds automatiques avec des déploiements en phases, les équipes atteignent des résultats impressionnants : 80% de couverture utilisateur en 7 jours et des capacités de retrait en moins d'une heure.

A une stratégie courante implique l'exécution de pistes de déploiement parallèles. Les builds automatisés sont utilisés pour les tests internes, tandis que les déploiements étalés visent des segments d'utilisateurs. Cela garantit que les mises à jour sont à la fois rapides et sûres, étayées par des tests automatisés rigoureux. [1].

FAQs

Comment créer une application Capacitor ?

La création d'une application Capacitor implique quelques étapes simples :

  1. Configurer votre environnement: Installez Node.js et npm sur votre système. Ensuite, utilisez l'CLI Ionic pour démarrer un nouveau projet avec un support Capacitor :

    ionic start myApp tabs --capacitor
  2. Ajoutez le support de plateforme: Ajoutez les plateformes que vous souhaitez cibler, telles que iOS ou Android :

    npx cap add ios
    npx cap add android
  3. Synchronisez votre web code: Assurez-vous que votre web code est aligné avec les plateformes natives en exécutant :

    npx cap sync

L'étape de synchronisation est cruciale pour maintenir votre application cohérente sur les plateformes et garantir une opération fluide dans les pipelines CI/CD. Pour plus de détails sur la configuration de votre environnement, consultez la section Outils.

Continuez de la section Configuration de CI/CD pour les applications Capacitor

Si vous utilisez Configuration de la mise en œuvre de CI/CD pour les applications Capacitor pour planifier l'automatisation de CI/CD, connectez-l’avec Capgo CI/CD pour le flux de travail du produit dans Capgo CI/CD, Capgo Builds natifs pour le flux de travail du produit dans Capgo Builds natifs, Capgo Intégrations pour le flux de travail du produit dans Capgo Intégrations, Intégration CI/CD pour le détail d'implémentation dans Intégration CI/CD, et GitHub Actions d'intégration pour les détails d'implémentation dans les GitHub Actions Integration.

Mises à jour en temps réel pour les applications Capacitor

Lorsqu'un bug de la couche web est en ligne, expédiez la correction par 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.

Support humain de Martin

Démarrer Maintenant

Les dernières de notre Blog

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