Dans l’article précédent, on a exploré le fonctionnement de Xcode Cloud et comment il facilite l’automatisation des builds, tests et déploiements. Aujourd’hui, on passe à la pratique : configurer un premier workflow CI/CD et l’optimiser pour un développement plus efficace.
Qu’est-ce qu’un projet Xcode
Petit rappel, Xcode est l’environnement de développement (IDE) d’Apple utilisé pour créer des applications iOS, macOS, watchOS et tvOS. Un projet Xcode est un ensemble de fichiers, de ressources et de configurations qui permettent de développer une application pour l’écosystème Apple. Il contient :
- Le code source de l’application écrit en Swift ou Objective-C
- L’interface utilisateur définie via Storyboard ou SwiftUI
- Les fichiers de configuration, comme le « Info.plist » qui contient les paramètres essentiels de l’application
- Les tests unitaires et d’interface, qui vérifient le bon fonctionnement du code
Un projet Xcode est indispensable pour utiliser Xcode Cloud, qui va automatiser son build, son test et son déploiement.
Qu’est-ce que TestFlight
TestFlight est l’outil d’Apple permettant de tester une application avant sa publication sur l’App Store. Grâce à TestFlight, les développeurs peuvent :
- Partager des versions bêta de leur application avec des testeurs internes et externes
- Obtenir des retours sur les bugs et l’expérience utilisateur avant la mise en ligne
- Tester l’application sur plusieurs appareils et versions d’iOS
Xcode Cloud permet d’envoyer directement les builds validés vers TestFlight, ce qui simplifie énormément les phases de test avant la mise en production.
Activer Xcode Cloud sur un projet
Avant de commencer, assure-toi que ton projet Xcode est bien configuré et lié à un compte Apple Developer. Comme Xcode Cloud est intégré à Xcode, l’activation est simple.
- Ouvre Xcode et charge ton projet
- Dans la barre de menu, clique sur Product > Xcode Cloud > Create Workflow
- Une fenêtre s’ouvre pour activer Xcode Cloud. Clique sur Get Started
- Connecte ton compte Apple Developer si ce n’est pas déjà fait
- Sélectionne ton projet dans la liste et clique sur Next
- Assure-toi que ton projet est hébergé sur un dépôt Git compatible (GitHub, GitLab, Bitbucket)
- Accepte les conditions et active Xcode Cloud
Xcode Cloud est maintenant activé pour ton projet.
Créer un workflow CI/CD performant
Un workflow définit les différentes étapes d’automatisation, comme la compilation, l’exécution des tests et le déploiement sur TestFlight.
- Accède à la gestion des workflows dans Product > Xcode Cloud > Manage Workflows
- Clique sur New Workflow pour en créer un nouveau
- Donne un nom à ton workflow (exemple : Build & Test iOS)
- Définis les déclencheurs :
- Sélectionne Run this workflow on et choisis Code changes
- Coche Push to branches et entre
develop
,main
pour éviter de déclencher des builds inutiles
- Ajoute une phase de build :
- Clique sur "+" et sélectionne Build
- Vérifie que la bonne cible (target) est sélectionnée
- Ajoute une phase de tests :
- Clique sur "+" et sélectionne Run Tests
- Active les tests unitaires et UI pour plusieurs versions d’iOS
- Ajoute une phase de distribution :
- Clique sur "+" et sélectionne Distribute to TestFlight
- Sélectionne Automatically distribute successful builds si tu veux envoyer la version validée aux testeurs sans action manuelle
- Clique sur Save Workflow
Ton premier workflow CI/CD est prêt.
Optimisation et gestion des ressources
Xcode Cloud exécute les builds et tests sur les serveurs Apple, mais une configuration optimale peut accélérer le processus et éviter des ressources inutiles.
- Évite les builds inutiles en limitant leur déclenchement aux branches principales (main, release)
- Utilise des caches pour réduire le temps de compilation en évitant de recompiler des dépendances déjà validées
- Ajoute des notifications pour être alerté en cas d’échec d’un build ou d’un test
- Surveille les logs pour détecter et corriger rapidement les erreurs qui ralentissent les builds
Lancer un build et suivre les résultats
Une fois ton workflow configuré, il est temps de tester.
- Accède au Report Navigator dans Xcode
- Ouvre l’onglet Xcode Cloud pour voir l’état des builds en cours
- Analyse les logs et corrige les éventuelles erreurs affichées
- Vérifie les tests. S’ils échouent, ajuste ton code et relance un build
- Si tout est validé, Xcode Cloud envoie l’application sur TestFlight pour être testée
Ton application est maintenant prête à être testée.
Conclusion
En optimisant ton workflow Xcode Cloud, tu accélères le développement, évites les erreurs et réduis le temps de traitement des builds. Avec une bonne gestion des ressources et une automatisation bien pensée, ton projet iOS gagne en efficacité.
Dans le prochain article, nous comparerons Xcode Cloud avec d’autres solutions CI/CD afin d’évaluer leurs avantages et inconvénients. Cette analyse t’aidera à déterminer si Xcode Cloud est la solution idéale pour ton projet ou si une autre alternative serait plus adaptée à tes besoins.
Références:
- "Configuring Your First Xcode Cloud Workflow", Apple Developer, https://developer.apple.com/documentation/xcode/configuring-your-first-xcode-cloud-workflow (page consultée le 19 février 2025)
- "TestFlight", Apple Developer, https://developer.apple.com/testflight (page consultée le 19 février 2025)
- "Developing a Workflow Strategy for Xcode Cloud", Apple Developer, https://developer.apple.com/documentation/xcode/developing-a-workflow-strategy-for-xcode-cloud (page consultée le 19 février 2025)
- "Getting Started with Xcode Cloud", Kodeco, https://www.kodeco.com/36548823-getting-started-with-xcode-cloud#toc-anchor-003 (page consultée le 19 février 2025)
Commentaires