Livraison continue avec Fastlane pour iOS

introduction

Les développeurs iOS ont eu la chance de profiter et de travailler avec la plate-forme de développement robuste fournie par Apple, principalement Xcode. Cela a contribué à inspirer les applications attrayantes et puissantes que les consommateurs apprécient aujourd’hui sur l’App Store. Xcode fournit un IDE intuitif et cela, associé à l’émergence de Swift en tant que langage de programmation vraiment moderne, a fait de la programmation sur la plate-forme un pur plaisir.

Cependant, bien que l’aspect développement du flux de travail soit cohérent, le flux de travail se décompose en ce qui concerne les tâches liées à la signature du code et à la distribution d’applications. C’est un problème de longue date pour la plate-forme, et bien qu’il se soit amélioré progressivement, il reste un goulot d’étranglement pour presque tous les développeurs. À bien des égards, cela a étouffé la livraison continue des applications, c’est-à-dire que la nécessité de créer et de distribuer manuellement des applications quotidiennement en interne et en externe est source d’erreurs et laborieuse.

C’est là que voie rapide La suite d’outils Fastlane facilite grandement la distribution des applications, permettant aux développeurs de se concentrer sur leurs applications et de laisser les outils prendre en charge des tâches telles que la gestion des profils de provisioning et des certificats et la création, l’empaquetage et la distribution d’applications. L’une des chaînes d’outils de fastlane est une solution clé en main automatisée de livraison continue côté client que les développeurs iOS peuvent utiliser pour s’assurer que leurs applications sont testées et validées en continu par d’autres, avec une intervention humaine minimale.

Le logo Fastlane

Développé par Felix Krause (@krausefx), fastlane consiste en une suite d’outils open source qui unifie l’automatisation de la création et du déploiement d’applications iOS via la ligne de commande, ainsi que l’intégration avec diverses bibliothèques tierces en plus des propres API d’Apple. En tant que chaîne d’outils culte parmi les développeurs iOS, et soutenu par Google, Fastlane vous fera gagner beaucoup de temps en automatisant un grand nombre de vos tâches manuelles quotidiennes et hebdomadaires.

Dans ce tutoriel, nous allons explorer deux fonctionnalités très populaires de fastlane: la signature de code et l’empaquetage / distribution d’applications.

Objectifs de ce didacticiel

Ce didacticiel vous présentera la chaîne d’outils Fastlane et vous montrera comment tirer parti de l’outil pour automatiser et optimiser votre flux de travail de développement iOS. Tu vas apprendre:

  • les bases pour démarrer avec fastlane
  • code signature de votre application
  • emballage et distribution de votre application

Connaissance supposée

Ce didacticiel suppose que vous avez une connaissance pratique du développement Swift et iOS, bien que vous ne ferez pas de codage Swift dans ce didacticiel. Vous utiliserez l’invite de commande pour créer et exécuter des commandes fastlane.

Premiers pas avec Fastlane

La chaîne d’outils Fastlane est essentiellement écrite en Ruby et se connecte à l’Apple Developer Center et à l’API iTunes Connect via le vaisseau spatial Bibliothèque Ruby, authentification et autorisation des utilisateurs en toute sécurité. Il fonctionne autour de la création d’un fichier de configuration, appelé Fastfile, que vous pouvez considérer comme un fichier de recette dans lequel vous définissez les actions que vous souhaitez effectuer lors de la création de votre application. Ces actions sont organisées en «voies». Par exemple, vous configureriez une voie pour le déploiement sur l’App Store et une autre voie pour la distribution vers Vol d’essai. Une voie peut être composée des actions individuelles suivantes:

  1. construire votre projet
  2. incrémentation du numéro de build
  3. exécution de tests unitaires
  4. envoyer votre .ipa à TestFlight
  5. envoyer un message Slack à votre équipe

Vous pouvez considérer les voies comme des fonctions regroupant des tâches associées. Vous pouvez même appeler des méthodes de voies à partir d’une autre, pour découpler et réutiliser davantage vos voies.

Mais avant de plonger dans les actions fastlane, vous devrez configurer votre environnement pour utiliser fastlane.

Configurer Fastlane

Assurez-vous que la dernière version de Xcode est installée. Vous devrez également installer Xcode Tools sur votre système. Vous pouvez vérifier si Xcode Tools est installé en saisissant ce qui suit dans le terminal:

Si vous récupérez le chemin complet de votre dossier de développeur, vous êtes prêt à partir. Vous devriez voir quelque chose comme ce qui suit.

En relation :  Clés, informations d'identification et stockage sur Android

Sinon, récupérons la dernière version des outils de ligne de commande Xcode en tapant ce qui suit, dans le terminal:

Vous devriez recevoir une invite semblable à la suivante:

invite de commande gcc

Ensuite, vous devrez installer Homebrew. Homebrew est un puissant gestionnaire de paquets qui vous permet d’installer des centaines d’outils open source, parmi lesquels Fastlane. Pour installer Homebrew, tapez ce qui suit dans la ligne de commande:

Une fois Homebrew configuré, vous pouvez installer Fastlane en entrant:

Notez que si vous préférez ne pas installer Homebrew, vous pouvez installer Fastlane directement dans le terminal via ruby, en entrant ce qui suit:

Pour confirmer que Fastlane est installé et prêt sur votre système, entrez la commande suivante dans le terminal pour initialiser un nouveau fichier de configuration de Fastlane:

Vous serez invité à entrer votre identifiant Apple afin que Fastlane puisse se connecter à iTunes Connect de manière transparente. Remplissez toutes les autres questions rapides et vous verrez un nouveau /voie rapide sous-répertoire créé pour vous. Vous serez principalement concerné par la / fastlane / Fastfile fichier de configuration, dans lequel vous orchestrerez toutes vos actions Fastlane.

Jetez un coup d’œil au fichier. Vous travaillerez avec cela dans les prochaines sections, en commençant par la configuration de Fastlane pour coder signer vos applications.

Signature du code de vos applications

L’une des fonctionnalités les plus populaires de Fastlane en tant que chaîne d’outils est de pouvoir signer automatiquement vos applications par code, évitant ainsi l’épreuve de devoir gérer des certificats et des profils de provisionnement. Cela peut être beaucoup de travail et, de plus, lorsque vous changez de machine ou que vous embarquez un nouveau membre de l’équipe, vous devez tout recommencer. Fastlane propose trois actions qui vous aident à gérer votre signature de code: cert, soupir, et rencontre.

cert, bien qu’utile en soi, fonctionne généralement en tandem avec soupir pour terminer le processus de signature du code de votre application, en gérant respectivement vos certificats et vos profils d’approvisionnement. Il crée non seulement le certificat pour vous, mais génère automatiquement une nouvelle demande de signature de clé privée en cas de besoin, ainsi que la récupération et l’installation du certificat dans votre trousseau, en s’assurant que votre certificat est valide chaque fois que vous exécutez cert.

soupir crée le profil de provisioning correspondant pour votre certificat pour le développement, Ad Hoc ou l’App Store. Comme cert, soupir garantit que ce profil d’approvisionnement reste à jour, récupéré et installé dans votre trousseau. Ensemble, ces deux éléments forment la paire de signature de code pour votre application. Mais avant d’apprendre à utiliser cert et soupir, il y a une autre action connexe que je veux présenter: rencontre.

rencontre combine les deux actions précédentes mais vous permet de partager votre identité de signature de code au sein de votre équipe ou sur plusieurs machines, en toute sécurité et en privé via votre propre référentiel GitHub, en créant tous les certificats et profils nécessaires afin que les nouveaux membres puissent obtenir ces informations d’identification en appelant simplement la commande fastlane match. Pour plus d’informations sur le concept de match, consultez le nouvelle approche du guide de signature de code.

Pour commencer à utiliser cert, exécutez la commande suivante:

De même, pour lancer soupir:

Si vous voulez voir une liste d’options que cert ou sigh fournit, vous pouvez le faire avec les commandes suivantes:

En plus d’exécuter ces commandes ad hoc, vous pouvez inclure l’une ou les deux actions dans le cadre de votre flux de travail automatisé, dans le fichier de configuration Fastfile que j’ai mentionné précédemment:

Vous pouvez ensuite exécuter toute la voie en émettant la commande suivante:

Avec deux lignes simples, vous bénéficiez désormais de la création et de la maintenance automatique de vos certificats et profils de provisioning pour vous. Ensuite, vous découvrirez comment Fastlane peut aider à créer et distribuer vos applications.

En relation :  Grimes a posté les morceaux de musique et les fichiers vidéo de son single pour que tout le monde puisse le remixer

Emballez et distribuez vos applications

Les deux prochaines actions que vous découvrirez sont Gym et livrer, que vous utiliserez pour créer, empaqueter et distribuer votre application sur TestFlight ou sur l’App Store. Gym construit et empaquete votre application via une seule ligne de commande, générant un fichier ipa signé pour vous.

En automatisant cela dans le cadre de votre Fastfile, vous pouvez déclencher la création et le packaging grâce à un flux de travail d’intégration continue et avoir la dernière version de votre application entre les mains des utilisateurs quotidiennement ou toutes les heures. Pour empaqueter votre application via fastlane, vous pouvez simplement exécuter:

Pour spécifier un espace de travail et un schéma particuliers, vous pouvez ajouter les paramètres facultatifs suivants:

Juste comme Fastfile, fastlane fournit un fichier de configuration pratique appelé Gymfile où vous pouvez stocker toutes vos commandes spécifiques à la construction, telles que votre espace de travail, vos schémas, etc., vous évitant d’avoir à taper cela à chaque fois ou à l’exposer dans votre Fastfile fichier de configuration. Pour créer un nouveau Gymfile, entrez simplement ce qui suit:

Vous pouvez ensuite éditer ce fichier et saisir les paramètres de configuration nécessaires à votre projet.

Ensuite, livrer prend le relais là où le gymnase s’est arrêté, en distribuant votre .ipa fichier sans que vous ayez à passer par Xcode. En tant que contrepartie de la salle de sport, livrer n’est pas seulement capable de livrer votre .ipa binaire, mais télécharge également vos captures d’écran et métadonnées sur iTunes Connect pour vous, ainsi que la soumission de votre application à l’App Store.

L’action peut également télécharger vos captures d’écran et métadonnées existantes à partir d’iTunes Connect. La commande d’action la plus simple consiste à appeler:

Le résultat final est un dossier de métadonnées et de captures d’écran avec le fichier de configuration Deliverfile, qui est similaire au Gymfile et Fastfile.

Les sous-dossiers de métadonnées et de captures d'écran générés pour vous par Deliver

Vous pouvez ensuite modifier le contenu de ces sous-dossiers pour modifier les métadonnées de votre application. Pour télécharger vos métadonnées, vous exécutez:

Pour soumettre votre application pour examen, ajoutez les paramètres suivants:

Pour télécharger des métadonnées ou des captures d’écran, ajoutez respectivement les paramètres suivants:

Vous pouvez modifier vos captures d’écran dans le /captures d’écran sous-dossier, mais fastlane fournit une autre action qui peut automatiser le processus de génération de captures d’écran pour vous. Bien que captures d’écran est en dehors de la portée de cet article, vous pouvez en apprendre davantage à ce sujet dans un prochain article de Fastlane.

Comme pour l’ensemble d’actions précédent, vous pouvez exécuter une salle de sport et livrer vous-même ou l’inclure dans le cadre de votre flux de travail d’automatisation, dans Fastfile:

Conclusion

En permettant une livraison continue grâce à l’automatisation, fastlane simplifie le travail des développeurs iOS avec une solution clé en main en un clic pour la création, le packaging, la distribution, la signature de code, la génération de captures d’écran et bien plus encore. Ce tutoriel ne fait qu’effleurer la surface de ce qui est possible avec Fastlane, et dans les articles suivants, nous explorerons plus d’actions que vous pouvez mettre en œuvre pour automatiser et optimiser davantage votre flux de travail.

De la génération de captures d’écran localisées à son intégration profonde avec des outils de premier plan tels que Jenkins CI, Git, Crashlytics, HockeyApp et Slack, fastlane est aussi essentiel que CocoaPods pour votre boîte à outils iOS de développement. Il dispose d’une solide communauté de plugins tiers et est également soutenu par Google.

Vous pouvez également tout apprendre sur l’art de la livraison continue et de la voie rapide dans mon livre Livraison continue pour mobile avec Fastlane, disponible auprès de Packt Publishing.

Livraison continue pour mobile avec Fastlane

Et pendant que vous êtes ici, consultez certains de nos autres articles sur le développement d’applications iOS!

Moyens Staff
Moyens I/O Staff vous a motivé, donner des conseils sur la technologie, le développement personnel, le style de vie et des stratégies qui vous aider.