Livraison Continue pour iOS à l'aide de Codemagic
Prérequis
Avant de continuer avec le tutoriel…
- Membre du programme iOS.
- Désir de lire 😆…
Important sur le prix

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 dans l'écran d'aperçu son prix et ses limites (tarifs valables à la création de ce tutoriel, ils pourraient subir des changements à l'avenir)
🔴 Une fois averti des exigences et des prix, si vous le souhaitez, nous continuons…
📣 Notre post suppose que nous avons créé l'application dans iTunes Connect, nous avons les certificats de l'écosystème Apple, tout sera configuré par Codemagic !
Enfonçons-nous dans la matière !
Étapes à suivre dans cet article
- Utilisation de App Store Connect API avec Codemagic
- Exigences
- Création d'une clé App Store Connect API
- Utilisation d'une clé App Store Connect API
- Copie des fichiers Fastlane
- Configuration de 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 identifiant Apple vous aide à vous assurer que vous êtes la seule personne qui peut accéder à votre compte.
De Aide de l'Apple
Pour commencer avec match, vous devez révoquer vos certificats existants. Mais n'ayez crainte, vous aurez le nouveau directement.
Exigences
Pour pouvoir utiliser App Store Connect API, Codemagic a besoin de trois choses.
- Identifiant émetteur.
- Identifiant de clé.
- Fichier de clé ou contenu de clé.
Créer une clé d'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.

3 — Sélectionner l'onglet Clés API.

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

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ôl’Apple Developer Program ici

6 — Cliquez sur Générer.
Un clé API ne peut pas avoir ses accès limités à des applications spécifiques.
Les informations du nouveau clé, ID de clé, un lien de téléchargement et d'autres informations apparaissent sur la page.

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 une copie de la clé privée. Vous pouvez donc la télécharger qu'une seule fois.
🔴 Store your private key in a safe place. You should never share your keys, store keys in a code repository, or include keys in client-side code.
Ajouter la clé App Store Connect API à Codemagic
-
Ouvrez vos paramètres d'équipe Codemagic :
Sélectionnez les identités de signature code
Et téléchargez ensuite le certificat

-
Cliquez sur le bouton Ajouter la clé Ajouter la clé.
-
Entrez le
App Store Connect API key name. C'est un nom lisible par les humains pour la clé qui sera utilisé pour référencer la clé ultérieurement dans les paramètres de l'application. -
Entrez les
Issuer IDetKey IDvaleurs. -
Cliquez sur Sélectionnez 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.
-
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.

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

Ensuite, vous pouvez créer un nouveau certificat.
Ensuite, vous devez aller dans la clé de chiffrement pour télécharger le certificat sous forme de .p12 fichier.
Pour ce faire, vous devez aller dans la clé de chiffrement, passer à la clé de chiffrement de connexion et puis la section Mes certificats Mes certificats Ensuite, vous pouvez sélectionner le certificat que vous souhaitez télécharger. (Recherchez par la date du certificat).

Ensuite, vous pouvez créer un nouveau certificat.
Et puis cliquez avec le bouton droit sur le certificat et sélectionnez __CAPGO_KEEP_0__.
__CAPGO_KEEP_0__ __CAPGO_KEEP_0__.
Cela téléchargera le certificat sous forme de .p12 __CAPGO_KEEP_0__
__CAPGO_KEEP_1__
__CAPGO_KEEP_0__ Ouvrez __CAPGO_KEEP_2__
et sélectionnez l'équipe appropriée. +

Et sélectionnez App Store Connect.

Sélectionnez ensuite l'application appropriée, soyez prudent car vous ne pouvez pas utiliser des wildcards sinon la signature échouera.

Sélectionnez le certificat approprié que vous avez créé avant (cherchez la date d'expiration, elle doit correspondre au même jour et mois que la date actuelle) et cliquez sur Continuez.

Enfin, entrez le nom du profil et cliquez sur Générez.
Le nom sera utilisé pour identifier le profil dans Codemagic.

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

Ajouter le certificat de signature Code
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 nécessaires à son utilisation. Lors de l'upload, Codemagic vous demandera de fournir le mot de passe du certificat (si le certificat est protégé par mot de passe) ainsi qu'un nom de référence unique Nom de référence, qui peut ensuite être utilisé dans la codemagic.yaml configuration pour récupérer le fichier spécifique.
- Uploader le certificat
- Générer un nouveau certificat
- Récupérer depuis le Portail des Développeurs
- Ouvrez vos paramètres d'équipe Codemagic, allez à paramètres codemagic.yaml > Code identités de signature.
- Ouvrir certificats iOS dossier.
- 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.
- Saisissez le Mot de passe du certificat et choisissez un Nom de référence.
- Cliquez Ajoutez un certificat
La mise en place du profil de provisionnement
Le profil de provisionnement peut être téléchargé sur Codemagic pour être utilisé pour l'application ou récupéré depuis le Portail du développeur 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 Certificat 3. Configuration de Codemagic
Configurez les secrets de Codemagic
Vous vous demandez peut-être où viennent les valeurs des champs ? Eh bien, ce n'est plus un secret – c'est de votre secret de projet. 🤦
Profil de provisionnement ENV Profil de provisionnement
4. Configurez le fichier de flux Codemagic.
Créez un fichier nommé codemagic.yml à la racine de votre projet et ajoutez les éléments suivants.
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 tagsi vous souhaitez automatiser la mise à jour du tag, veuillez vous référer à Automatic build and release with GitHub actions actions
en premier lieu.
Ensuite, ce flux tirera vos dépendances NodeJS, les installera et construira votre application JavaScript.
Your App doesn’t need to use Ionic, only Capacitor base is mandatory, it can have old Cordova module, but Capacitor JS plugin should be preferred.
Votre application n'a pas besoin d'utiliser Ionic, seule la base de est obligatoire, elle peut avoir des anciens modules Cordova, mais les plugins JavaScript de sont préférés.
Déclenchez le flux de travail
Envoi des nouveaux commits vers la branch main ou development Déclenchez le flux de travail.

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

Démarrez manuellement
Vous pouvez déclencher le flux de travail manuellement.
Choisissez l'application que vous souhaitez construire, puis cliquez sur Démarrez un nouveau build.

Sélectionnez ensuite la branche que vous souhaitez construire.

Et cliquez sur Démarrer une nouvelle construction.
Alors allez-vous dans la liste des constructions

Et cliquez sur la construction pour voir le résultat.

Vous pouvez déployer à partir de votre machine locale.
Oui, vous pouvez, et cela est sans effort.
Vous pouvez utiliser Xcode pour construire et signer votre application, comme toujours.
Merci
Ce blog repose sur les articles suivants :
- Déploiement continu pour IOS en utilisant Codemagic et des actions GitHub
- Documentation de Codemagic
- Ce message GitHub de @mrogunlana
Keep going from Automatic Capacitor IOS build with Codemagic
Si vous utilisez Automatic Capacitor IOS build with Codemagic pour planifier l'automatisation 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 Intégrations Capgo 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 Intégration d'Actions pour le détail d'implémentation dans GitHub Intégration d'Actions