Passer au contenu principal
CI/CD

Construction automatique de l'IOS Capacitor avec Codemagic

Comment configurer une chaîne d'intégration/continu pour votre application IOS Ionic avec Codemagic et Codemagic en 5 minutes (2024)

Martin Donadieu

Martin Donadieu

Responsable de la création de contenu

Construction automatique de l'IOS Capacitor avec Codemagic

Déploiement continu pour iOS à l'aide de Codemagic

Prérequis

Avant de continuer avec le tutoriel…

  • Membre du programme iOS.
  • Souhait de lire 😆…

Important sur le prix

Prix de l'action Codemagic

https://codemagic.io/pricing/

Le service est ‘gratuit’ jusqu'à 500 minutes macOS M1 par mois, en fonction de la machine choisie.
Nous allons utiliser un macOS M1 Vous pouvez voir sur l'écran d'aperçu son prix et ses limites (les prix sont valables à la création de ce tutoriel, ils pourraient changer à l'avenir)

🔴 Une fois averti des exigences et des prix, si vous le souhaitez, nous continuons…

📣 Notre article suppose que nous avons créé l'application dans iTunes connect, nous avons les certificats de l'écosystème Apple, tout sera configuré par Codemagic !

Plongeons-y !

Étapes à suivre dans cet article

  1. Utilisation de App Store Connect API avec Codemagic
  2. Exigences
  3. Création d'une clé App Store Connect API
  4. Utilisation d'une clé App Store Connect API
  5. Copier les fichiers Fastlane
  6. Configurer Codemagic

1. Utilisation de App Store Connect API avec Codemagic

À partir de février 2021, l'authentification à deux facteurs ou la vérification à deux étapes est obligatoire pour tous les utilisateurs pour se connecter à App Store Connect. Cette couche supplémentaire de sécurité pour votre ID Apple vous aide à vous assurer que vous êtes la seule personne qui peut accéder à votre compte.
De Support Apple

Pour commencer avec match, vous devez révoquer vos certificats existants. Mais n'ayez crainte, vous obtiendrez le nouveau directement.

Exigences

Pour pouvoir utiliser App Store Connect API, Codemagic a besoin de trois choses.

  1. ID émetteur.
  2. ID clé.
  3. Fichier clé ou contenu clé.

Créer une clé d'accès à l'App Store Connect API

Pour générer des clés, vous devez avoir les droits d'administrateur dans App Store Connect. Si vous n'avez pas ces droits, vous pouvez diriger la personne concernée à cet article et suivre les instructions suivantes.

1 — Se connecter à App Store Connect.

2 — Sélectionner Utilisateurs et accès.

L'accès à l'utilisateur App Store Connect

3 — Sélectionner la rubrique Clés API.

Clés d'accès à l'App Store Connect API

4 — Cliquez sur Générer la clé API ou le bouton Ajouter (+).

La création de clés d'accès à l'App Store Connect API

5 — Entrez le nom de la clé et sélectionnez un niveau d'accès. Nous recommandons de choisir App Manager les droits d'accès, en savoir plus sur les autorisations du rôle Apple Developer Program ici

les clés App Store Connect API créent un nom

6 — Cliquez sur Générer.

Un clé API d'accès ne peut pas être limité à des applications spécifiques.

Le nom de la nouvelle clé, l'ID de la clé, un lien de téléchargement et d'autres informations apparaissent sur la page.

Télécharger les clés App Store Connect

Récupérez les trois informations nécessaires ici : 1> L'ID de l'incident.
2> L'ID de la clé.
3> Cliquez sur « Télécharger la clé API » pour télécharger votre clé privée API. Le lien de téléchargement n'apparaît que si la clé privée n'a pas encore été téléchargée. Apple ne garde pas de copie de la clé privée. Vous pouvez donc la télécharger qu'une seule fois.

🔴 Stockez votre clé privée dans un endroit sûr. Vous ne devriez jamais partager vos clés, stocker les clés dans un code dépôt, ou inclure les clés dans le code côté client code.

Ajouter la clé App Store Connect API à Codemagic

  1. Ouvrez vos paramètres d'équipe Codemagic, Sélectionnez les intégrations d'équipe Ouvrez l'équipe Sélectionnez les identités de signature code Sélectionnez les identités de signature code Et téléchargez ensuite le certificat Téléchargez le certificat

  2. Cliquez sur le Ajoutez une clé bouton.

  3. Entrez le App Store Connect API key name. C'est un nom lisible par l'homme pour la clé qui sera utilisé pour faire référence à la clé plus tard dans les paramètres de l'application.

  4. Entrez les Issuer ID et Key ID valeurs.

  5. Cliquez sur Choisissez un fichier .p8 ou faites glisser le fichier pour télécharger la clé App Store Connect API téléchargée précédemment.

  6. Cliquez Enregistrer.

Maintenant, nous pouvons gérer Codemagic avec la clé App Store Connect API, c'est génial !

2. Créez des certificats et des profils de provisionnement

Certificats

Ouvrez XCode et allez à Paramètres > Comptes > Identifiant Apple > Équipes et sélectionnez votre équipe.

Code identités de signature

Cliquez sur Gérer les certificats > + et sélectionnez Distribution Apple.

Distribution Apple

Ensuite, vous pouvez créer un nouveau certificat.

Ensuite, vous devez vous rendre dans le cléchain pour télécharger le certificat sous forme de fichier. .p12 Pour ce faire, vous devez vous rendre dans le cléchain, passer à la cléchain de connexion et puis la page

Clés de connexion Clés de connexion Ensuite, vous pouvez sélectionner le certificat que vous souhaitez télécharger. (Recherchez par la date du certificat) Et puis, cliquez avec le bouton droit sur le certificat et sélectionnez.

Exporter

Choisissez le format de fichier

Informations personnelles d'échange (.p12) Then you need to go to keychain to download the certificate as a.

file. To do so, you need to go to keychain switch to the.

Cela téléchargera le certificat sous forme de .p12 fichier.

Profils de provisionnement

Ouvrir Apple Developer et sélectionnez l'équipe appropriée.

Créez ensuite un nouveau profil en cliquant sur +

Créer un nouveau profil

Et sélectionnez App Store Connect.

Sélectionnez App Store Connect

Vous devez ensuite sélectionner l'application appropriée, soyez prudent, vous ne pouvez pas utiliser des wildcards sinon la signature échouera.

Choisissez l'application appropriée

Choisissez le bon certificat que vous avez créé avant (cherchez la date d'expiration, elle doit être le même jour et mois que la date d'aujourd'hui) et cliquez sur Continuez.

Choisissez le bon certificat

Enfin, entrez le nom du profil et cliquez sur Générez.

Le nom sera utilisé pour identifier le profil dans Codemagic.

Générez le profil

Vous pouvez télécharger le profil sous forme de .mobileprovision fichier.

Téléchargez le profil

La mise en place du certificat de signature Code

Le Codemagic vous permet d'uploader les certificats de signature code sous forme d'archives PKCS#12 contenant à la fois le certificat et la clé privée qui est nécessaire pour les utiliser. Nom de référence, qui peut ensuite être utilisé dans la codemagic.yaml configuration pour récupérer le fichier spécifique.

  • Télécharger le certificat
  • Générer un nouveau certificat
  • Récupérer depuis le Portail des développeurs
  1. Ouvrez vos paramètres d'équipe Codemagic, allez dans paramètres de codemagic.yaml > Identités de signature Code.
  2. Ouvrez certificats iOS tab.
  3. Téléchargez le fichier de certificat en cliquant sur Choisissez un fichier .p12 ou .pem ou en le traînant dans la zone indiquée.
  4. Saisissez le Mot de passe de certificat et choisissez un Nom de référence.
  5. Cliquez sur Ajouter le certificat

Ajout du profil de provisionnement

Codemagic vous permet de télécharger un profil de provisionnement à utiliser pour l'application ou de récupérer un profil à partir du Portail des développeurs Apple.

The profile’s type, team, bundle id, and expiration date are displayed for each profile added to Code signing identities. Furthermore, Codemagic will let you know whether a matching code signing certificate is available in Code signing identities (a green checkmark in the Le certificat de signature 3. Configuration de Codemagic

Configurer les secrets de Codemagic

Vous vous demandez peut-être où viennent les valeurs des

C'est pas un secret, c'est votre secret de projet – ENV 4. Configuration du fichier de flux de travail de Codemagic

Créez un fichier nommé

à la racine de votre projet et ajoutez les éléments suivants. codemagic.yml Ce flux de travail doit être déclenché manuellement ou après chaque __CAPGO_KEEP_0__

workflows:
  ionic-capacitor-ios-workflow:
    name: Capacitor iOS Workflow
    max_build_duration: 120
    instance_type: mac_mini_m1
    integrations:
      app_store_connect: CodeMagic
    environment:
      ios_signing:
        distribution_type: app_store
        bundle_identifier: YOUR_BUNDLE_IDENTIFIER
      vars:
        XCODE_WORKSPACE: ios/App/App.xcworkspace
        XCODE_SCHEME: App
        APP_STORE_APP_ID: YOUR_APP_STORE_APP_ID
      node: v20.14.0
      xcode: 15.4
      cocoapods: default
    triggering:
      events:
        - tag
      tag_patterns:
        - pattern: '*'
          include: true
    scripts:
      - name: Install dependencies
        script: |
          npm install
      - name: Cocoapods installation
        script: |
          cd ios/App && pod install
      - name: Update dependencies and copy web assets to native project
        script: |
          npm run build
          npx cap sync ios
      - name: Set up code signing settings on Xcode project
        script: |
          xcode-project use-profiles
      - name: Increment build number
        script: |
          cd $CM_BUILD_DIR/ios/App
          LATEST_BUILD_NUMBER=$(app-store-connect get-latest-app-store-build-number "$APP_ID")
          agvtool new-version -all $(($LATEST_BUILD_NUMBER + 1))
      - name: Build ipa for distribution
        script: |
          xcode-project build-ipa \
            --workspace "$XCODE_WORKSPACE" \
            --scheme "$XCODE_SCHEME"
    artifacts:
      - build/ios/ipa/*.ipa
      - /tmp/xcodebuild_logs/*.log
      - $HOME/Library/Developer/Xcode/DerivedData/**/Build/**/*.app
      - $HOME/Library/Developer/Xcode/DerivedData/**/Build/**/*.dSYM
    publishing:
      email:
        recipients:
          - YOUR_EMAIL
        notify:
          success: true # To not receive a notification when a build succeeds
          failure: false # To not receive a notification when a build fails
      app_store_connect:
        auth: integration
        # Configuration related to TestFlight (optional)
        # Note: This action is performed during post-processing.
        submit_to_testflight: true
        # Configuration related to App Store (optional)
        # Note: This action is performed during post-processing.
        submit_to_app_store: false

This workflow should be triggered manually or after each GitHub field, si vous avez besoin d'automatiser les balises, veuillez vous référer à Construction automatique et de mise en production avec des GitHub actions premier.

Ensuite, ce flux de travail récupérera vos dépendances NodeJS, les installera et construira votre application JavaScript.

Chaque fois que vous envoyez une nouvelle balise, une mise en production sera créée dans TestFlight.

Votre application n'a pas besoin d'utiliser Ionic, seule la base Capacitor est obligatoire, elle peut avoir des anciens modules Cordova, mais le plugin Capacitor JS est préféré.

5. Déclencher le flux de travail

Déclenchez le flux de travail

Poussez les nouveaux commits vers la branch main ou development pour déclencher le flux de travail.

Commencé avec commit

Après quelques minutes, la build devrait être disponible dans votre tableau de bord App Store Connect.

Tableau de bord Testflight

Démarrer manuellement

Vous pouvez démarrer le flux de travail manuellement.

Sélectionnez d'abord l'application que vous souhaitez construire, puis cliquez sur Démarrer une nouvelle build.

Sélectionner l'application

Ensuite, sélectionnez la branche que vous souhaitez construire.

Sélectionner la branche

Et cliquez sur Démarrer une nouvelle build.

Ensuite, allez dans la liste des builds

Liste de construction

Cliquez ensuite sur la construction pour voir le résultat.

Résultat de la construction

Vous pouvez déployer à partir d'une machine locale

Oui, vous pouvez, et cela est sans effort.

Vous pouvez utiliser Xcode pour construire et signer votre application, comme toujours.

Merci

Cet article est basé sur les articles suivants :

Continuez à partir de la construction automatique IOS avec Codemagic Capacitor

Si vous utilisez Automatic Capacitor IOS build with Codemagic pour planifier l'automatisation CI/CD, connectez-le avec Capgo CI/CD for the product workflow in Capgo CI/CD, Capgo Native Builds for the product workflow in Capgo Native Builds, Capgo Integrations for the product workflow in Capgo Integrations, Intégration CI/CD pour les détails d'implémentation dans l'intégration CI/CD GitHub Actions Integration pour les détails d'implémentation dans GitHub Actions Integration.

Mises à jour en direct 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 la voie de revue normale.

Démarrer Maintenant

Dernières actualités de notre Blog

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