Allez directement au contenu principal

Configurer la CI/CD pour les applications Capacitor

Apprenez à rationaliser vos déploiements 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

Want faster, error-free app releases for iOS and Android? Les pipelines CI/CD pour les applications Capacitor automatisent la construction, le test et le déploiement, réduisant les temps de déploiement 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.

Rappels clés :

  • Pourquoi les CI/CD sont-ils importants pour Capacitor applications: Accélère les builds de 78 % et réduit les rejets de magasins de 60 %.
  • Outils essentiels: Xcode, Android Studio, CocoaPods, et plus.
  • Configuration de pipeline: Automatise les tâches telles que npx cap synccache de dépendances, et les builds spécifiques au plateforme.
  • Mises à jour en direct avec CapgoActiver les mises à jour post-dépot avec des déploiements étalés et des garanties de reversion.

Étapes de configuration rapide :

  1. Préparez votre environnement: Installez les outils nécessaires pour iOS et Android.
  2. Configurez votre projet: Mettez à jour capacitor.config.ts et gérez les variables d'environnement de manière sécurisée.
  3. Flux de pipelinesAutomatisez les installations de dépendances, les builds et les tests pour les deux plateformes.
  4. Optimisez les performances: Utilisez le cache, les builds parallèles et les workflows conditionnels.
  5. Mettre à jour en temps réel: Intégrez Capgo pour des mises à jour OTA sécurisées avec des déploiements étalés.

Avec CI/CD, vos applications Capacitor réalisent des mises à jour plus rapides et plus fluides tout en minimisant les erreurs et les interventions manuelles. Prêt à optimiser votre flux de travail ? Découvrons !

Intégrez vos pipelines CI/CD existantes avec des capacités mobiles

Préparation de votre environnement CI/CD

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

Configuration des outils et logiciels

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 supérieur
  • 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 Projet

Documentation du site Web du Framework Capacitor

Votre projet Capacitor doit être configuré correctement pour les workflows CI/CD. Le capacitor.config.ts fichier est au cœur de cette configuration :

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

Ce fichier assure que votre projet est conforme aux exigences CI/CD.

Configuration de Variables d'Environnement

Managing credentials securely is a key part of linking your environment setup with the CI/CD pipeline.

Variables Clés à Définir :

  • BUILD_ENV: Spécifie la phase de déploiement (par exemple, production)
  • IOS_SIGNING_IDENTITY: Votre certificat de signature code
  • ANDROID_KEYSTORE_PATH: Chemin vers votre clé de stockage Android

Pour les builds Android, générer dynamiquement un local.properties fichier pendant le processus CI :

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

When working with iOS builds, ensure your CI platform supports macOS agents.

: Vérifiez si votre environnement est prêt :

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

Gérer correctement les clés et les informations de connexion peut considérablement réduire les chances de rejets d'applications par les magasins, comme le soulignent les statistiques précédentes [1].

Création de la Chaîne de Production CI/CD

Une fois votre environnement prêt, la prochaine étape consiste à mettre en place une chaîne de CI/CD pour votre Capacitor applicationCe pipeline doit gérer efficacement les actifs web et les builds de plateformes natives.

Installation et Mise à Jour des Dépendances

Dans les environnements CI/CD, la gestion des dépendances nécessite un contrôle de version strict. Commencez par un processus d'installation propre.

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

Pour accélérer les builds, utilisez le cache de dépendances. Par exemple, Azure DevOps Configuration de Build pour les Plates-Formes iOS et Android

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

Configuration de build iOS et Android

Voici comment configurer les builds pour les deux plateformes :

Configuration de Build pour Android :

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 Build pour Android :

cd android
./gradlew bundleRelease

Étapes de test et de déploiement

Run platform tests in parallel using a matrix strategy:

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 Canal de distribution
iOS .ipa App Store Connect
Android .aab Google Play Console

Utiliser des builds parallèles peut considérablement réduire le temps d'exécution du pipeline lorsque celui-ci est correctement configuré.

Une fois vos builds validés et emballés, vous êtes prêt à passer à des mises à jour en temps réel avec Capgo.

sbb-itb-f9944d2

Ajouter Capgo pour les mises à jour en direct

Capgo Live Update Interface de tableau de bord

Intégrer Capgo dans votre flux de travail améliore votre processus CI/CD en permettant des mises à jour post-déploiement. Voici comment l'installer.

Capgo Configuration de la 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 extension prolonge votre cycle CI/CD en intégrant gestion de mise à jour dans votre processus de construction et de déploiement automatisé.

Ensuite, incluez la commande d'upload après vos étapes de construction :

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

Pour les 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 Réduit considérablement les erreurs de déploiement.
Déploiement basé sur le canal Adapte les mises à jour aux environnements spécifiques.
Déploiements étalés Assure la distribution progressive des mises à jour.

Lignes directrices de mise à jour OTA

Améliorez vos processus de test en suivant ces principaux indicateurs après déploiement :

Stratégie de déploiement étalé

Utilisez un déploiement étalé pour contrôler la distribution des mises à jour :

- 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'adoptionViser 40-60 % dans les 24 premières heures.
  • Sessions sans crash: Maintenez un taux supérieur à 99,5%.
  • Temps de vérification: Assurez-vous qu'il est inférieur à 500ms.

Si les crashes dépassent les niveaux acceptables, automatiser un roulage :

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

Améliorer la performance du pipeline

Se concentrer sur trois domaines clés peut entraîner des améliorations notables de votre pipeline :

Optimisation de la vitesse de construction

Pour les modifications uniquement web, utiliser npx cap sync Pouvez-vous gagner du temps en sautant les reconstructions natives complètes, en réduisant ainsi le temps de reconstruction d'environ 40%. Voici comment 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 le processus.

Automatisation du contrôle de version

Automatiser le contrôle de version peut simplifier votre flux de travail. Utilisez le script suivant pour définir les numéros de version et de build dynamiquement :

- 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 les performances de la pipeline à travers des métriques comme :

  • Temps de construction par étape
  • Efficacité du cache (taux de hits/miss)
  • Utilisation maximale des ressources

Configuration de plusieurs environnements

Gérer plusieurs environnements peut être simplifié en utilisant des configurations spécifiques à l'environnement. Voici un exemple de configuration.

Environnement Fichier de configuration
Development .env.dev
Staging .env.staging
Production Châteaux de sécurité

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

En associant ces configurations à la mise en production basée sur le canal de Capgo, vous obtenez des mises à jour précises et spécifiques à l'environnement. Cela garantit des déploiements plus fluides et un meilleur contrôle sur le 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 accélérés grâce à des builds iOS et Android simultanés [3]Automatiser les tâches comme l'installation des 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 comme les étapes de construction 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 d'artefacts fiables chaque fois.

Ces améliorations préparent le terrain pour une gestion des mises à jour plus fluide en association avec Capgo.

Capgo pour la gestion des mises à jour

Capgo fonctionne de manière fluide avec les pipelines CI/CD pour délivrer 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 tests automatisés intégrés dans le pipeline.

En combinant les builds automatisés avec les déploiements étalés, 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.

Une stratégie courante consiste à exécuter des itinéraires de déploiement parallèles. Les builds automatisés sont utilisés pour les tests internes, tandis que les déploiements en phases ciblent les 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 le support Capacitor :

    ionic start myApp tabs --capacitor
  2. Ajouter le support des plateformes: 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 différentes 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 mise en place de CI/CD pour les applications Capacitor

Si vous utilisez Configurer la 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 les détails d'implémentation dans Intégration CI/CD, et GitHub Intégration d'actions pour les détails d'implémentation dans GitHub Intégration d'actions.

Mises à jour instantanées pour les applications Capacitor

Lorsqu'une bug de 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 changements natifs restent dans la voie de revue normale.

Dernières actualités de notre Blog

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