
Dans l'écosystème mobile actuel, l'automatisation n'est plus une option, mais une nécessité absolue. Les équipes projets se tournent désormais vers des pipelines CI/CD robustes, afin d’automatiser la création et la distribution des applications mobiles, tout en réduisant les tâches manuelles. Dans cette optique, Fastlane se distingue comme l'outil de référence.
Dans cet article, nous explorerons comment cet outil puissant permet d'automatiser la création et la distribution de vos applications mobiles, transformant ainsi votre processus d'intégration.
CI/CD ( Continuous Integration / Continuous Delivery ) sont des pratiques de développement qui visent à automatiser le processus qui vise à construire une application et ensuite la distribuer dans un environnement de production ou même de test.
Fastlane est un outil open source conçu pour l'automatisation des tâches répétitives dans le cadre du développement mobile.
Il permet d'automatiser des fonctions clés, notamment :
Le fonctionnement de Fastlane repose principalement sur la configuration de « lanes », qui peuvent être soit prédéfinies soit personnalisées.
Fastlane peut être intégré facilement avec une chaîne CI/CD. Cette intégration permet notamment de :
Avant de plonger dans la configuration technique de Fastlane, assurons-nous que votre environnement est prêt. Voici la check-list des éléments indispensables pour mettre en place votre automatisation :
Une fois votre environnement prêt, vous pouvez procéder à l'installation de Fastlane avec cette commande :
sudo gem install fastlanebrew install fastlaneL'étape suivante consiste à initialiser Fastlane dans votre environnement local. Pour ce faire, accédez au dossier source de votre projet via le terminal et exécutez :
fastlane initAprès avoir exécuté la commande d'installation (sudo gem install fastlane), Fastlane détecte automatiquement le projet iOS présent dans le répertoire et lance le processus de configuration initiale. Durant cette étape, l’outil vous invite à choisir entre l’utilisation de lanes prédéfinies ou la création manuelle de lanes personnalisées.
Fastlane repose principalement sur le concept de lanes, qui représentent des workflows d’automatisation. Ces lanes peuvent être adaptées aux besoins spécifiques du projet ou utiliser des configurations standards proposées par l’outil.
Suite à cette détection et à ce choix initial, les options suivantes sont généralement affichées pour la configuration de Fastlane pour iOS :
De plus, cette étape aboutit à la création d'un nouveau dossier contenant deux fichiers fondamentaux : AppFile et FastFile.
Dans cette optique, l'objectif est de créer une "lane" personnalisée, nommée beta.
default_platform(:ios)
platform :ios do
desc "Build and upload to TestFlight"
lane :beta do
increment_build_number(xcodeproj: "YourApp.xcodeproj")
build_app
upload_to_testflight
end
endUne fois la lane configurée dans le FastFile, son exécution est l'étape suivante. Pour lancer la lane personnalisée beta, il suffit d'utiliser la commande suivante :
fastlane betaMaintenant que nous avons exploré les bases de Fastlane, passons à son intégration avec Github Actions. Pour se faire, il suffit d’ajouter ce code snippet dans un nouveau fichier “.github/workflows/build-ios-app.yml” dans notre git.
name: build-ios-app
on:
push:
branches:
- 'master'
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- run: fastlane betaCe code définit un job qui s'exécute automatiquement lors d'un push sur la branche 'master', utilisant l'environnement macos-latest pour ensuite exécuter la lane fastlane beta.
Pour garantir une pipeline performante et sécurisée, certaines pratiques sont essentielles :
Une automatisation réussie passe par une sécurité irréprochable. Afin d'éviter toute exposition de vos identifiants ou clés d'API, nous devons les stocker dans l'espace sécurisé de notre pipeline plutôt que directement dans le code source. Les secrets utilisés le plus fréquemment sont : le fichier Keystore pour Android, les clés privées de signature, la clé API pour Apple Store Connect ainsi que les accès Firebase.
Pour améliorer la maintenance et rendre l'automatisation plus modulaire, il est conseillé de décomposer le FastFile en lanes plus petites et spécialisées.
Fastlane s'impose comme une solution incontournable pour optimiser le cycle de vie de développement des applications mobiles. Capable de s'intégrer nativement dans divers environnements CI/CD, cet outil offre aux développeurs la liberté de créer des workflows sur mesure. Cette automatisation de la distribution iOS et Android permet de gagner en efficacité et d'assurer des livraisons rapides, fiables et parfaitement adaptées aux exigences techniques de vos projets.