Aller directement au contenu principal

Configuration de 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.

Martin Donadieu

Martin Donadieu

Spécialiste du contenu

Configurer la CI/CD pour les applications Capacitor

Voulez-vous des lancements d'applications iOS et Android plus rapides et sans erreur ? Pipelines de 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 applications CapacitorAccélère les builds de 78 % et réduit les rejets de magasins de 60 %.
  • Outils essentiels: Xcode, Android Studio, CocoaPodset plus encore.
  • Configuration de pipelineAutomatisez les tâches telles que npx cap synccache de dépendances, et builds spécifiques au plateau.
  • Mises à jour en direct avec CapgoActivez les mises à jour post-dépot avec des déploiements phasés et des garanties de rembobinage.

Étapes de configuration rapide :

  1. Préparez votre environnementInstallez les outils requis pour iOS et Android.
  2. Configurez votre projetMettre à jour capacitor.config.ts Gérez les variables d'environnement de manière sécurisée.
  3. Pipelines de constructionAutomatisez les installations de dépendances, les constructions et les tests pour les deux plateformes.
  4. Optimisez les performancesUtilisez le cache, les constructions parallèles et les workflows conditionnels.
  5. Ajoutez des mises à jour en directIntégrez Capgo pour des mises à jour OTA sécurisées avec des déploiements étalés.

Avec CI/CD, les applications Capacitor atteignent 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-le !

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

Préparation de 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.

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 Documentation du projet __CAPGO_KEEP_0__

Le site Web de la documentation 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 garantit que votre projet est conforme aux exigences CI/CD.

Configuration de l'environnement

Gérer les informations d'identification de manière sécurisée constitue une partie clé du lien entre la configuration de l'environnement et la chaîne de livraison continue/continu (CI/CD).

Variables Clés à Définir :

  • BUILD_ENV Spécifie la phase de déploiement (par exemple, production)
  • IOS_SIGNING_IDENTITYVotre certificat de signature code
  • ANDROID_KEYSTORE_PATHChemin vers votre fichier de clé 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

Lorsque vous travaillez avec des builds iOS, assurez-vous que votre plateforme CI prend en charge les agents macOS.

Pour vérifier 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 d'identification peut considérablement réduire les chances de rejets d'applications par les magasins, comme le montre les statistiques précédentes [1].

Créer votre chaîne de livraison continue/continu (CI/CD)

Une fois votre environnement prêt, la prochaine étape consiste à configurer un pipeline CI/CD pour votre Capacitor application. Ce pipeline devrait 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 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

Configuration des Builds pour iOS et Android

Voici comment configurer les builds pour les deux plateformes :

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

cd android
./gradlew bundleRelease

Étapes de test et de déploiement

Exécutez les tests du plateforme en parallèle à l'aide d'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 :

PlateformeType d'artefactCanal de distribution
iOS.ipaApp Store Connect
Android.aabGoogle Play Console

L'utilisation de la construction parallèle peut réduire considérablement le temps d'exécution du pipeline lorsque cela est configuré correctement.

Une fois vos builds 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 pour les Mises à jour en Direct

Capgo Interface de tableau de bord de mise à jour en direct

L'intégration de Capgo dans votre flux de travail améliore votre processus CI/CD en permettant des mises à jour post-sortie. Voici comment la configurer :

Capgo Configuration du pipeline

Tout d'abord, 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 la gestion des mises à jour à votre processus de construction et de déploiement automatisé. gestion des mises à jour Ensuite, incluez la commande d'upload après vos étapes de construction :

Pour les

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

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

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

Capgo Features Overview

DescriptionChiffrement de bout en bout
Réduit considérablement les erreurs de déploiement.Pour les mises à jour sécurisées, configurez les paramètres de validation comme suit :
Déploiement basé sur les canauxPersonnalise les mises à jour en fonction de spécifiques environnements.
Déploiements étalésS'assure que les mises à jour sont distribuées progressivement.

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%

Surveillance des mises à jour

Tenez compte de ces indicateurs :

  • Taux d'adoption: Visez 40-60% dans les 24 premières heures.
  • Sessions sans crashMaintenir au-dessus de 99,5%.
  • Temps de vérificationAssurer 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élioration de la performance du 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 web uniquement, utiliser npx cap sync peut économiser du temps en sautant les reconstructions natives complètes, réduisant ainsi le temps de reconstruction 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 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 sémantique 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 indicateurs comme :

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

Configuration multi-environnement

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

EnvironnementFichier de configuration
Développement.env.dev
Étape de pré-production.env.staging
ProductionChambres 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

L'association de ces configurations avec le déploiement basé sur les canaux 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 sur le comportement de l'application dans différents environnements.

Résumé

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

L'utilisation de 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 en production plus rapides grâce à la construction simultanée d'iOS et d'Android [3]L'automatisation de tâches telles que l'installation de dépendances et la synchronisation de plateformes réduit les erreurs de déploiement par 40-60% [1][2].

Par exemple, les équipes qui utilisent des pipelines Azure DevOps ont automatisé des processus tels que 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 Gradle et Xcode CLI, garantissant la création de artefacts fiables chaque fois.

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

Capgo pour la gestion des mises à jour

Capgo fonctionne de manière fluide 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 tests automatisés intégrés dans le pipeline.

En combinant les builds automatisés avec des 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ées sont utilisées pour les tests internes, tandis que les déploiements étalés ciblent des segments d'utilisateurs. Cela garantit que les mises à jour soient à la fois rapides et sûres, étayées par des tests automatisés rigoureux [1].

FAQ

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 Capacitor prise en charge :

    ionic start myApp tabs --capacitor
  2. Ajoutez la prise en charge 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.

Mises à jour en direct pour les applications Capacitor

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

Commencez 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.