Fastlane : qu'est-ce que c'est, automatisation des builds et publication

Auteur : IT Sectr Publié le : 2026-02-13 Temps de lecture : 10 min

Fastlane est un outil d'automatisation des builds et de publication d'applications mobiles pour iOS et Android. Fastlane gère la signature de code, la compilation, l'exécution des tests, la création de captures d'écran et le téléchargement vers App Store Connect et Google Play Console. C'est le standard de facto pour le CI/CD dans le développement mobile.

Points clés

  • Fastlane automatise l'ensemble du pipeline de publication mobile : build, test, signature et publication avec une seule commande
  • Fastfile est un fichier de configuration en Ruby qui décrit les lanes — des scénarios d'automatisation nommés
  • Prise en charge d'iOS et Android — Fastlane fonctionne avec Xcode, Gradle, App Store Connect, Google Play, TestFlight et Firebase
  • match et sigh — gestion des certificats et des profils de provisionnement pour le développement iOS
  • Intégration CI/CD — Fastlane s'intègre à GitHub Actions, GitLab CI, Bitrise, Jenkins et CircleCI

Fastlane — qu'est-ce que c'est

Fastlane est un outil open-source qui automatise les tâches récurrentes du développement mobile : compiler l'application, exécuter les tests, créer des captures d'écran, gérer les certificats et télécharger les builds vers TestFlight, l'App Store et Google Play. Fastlane est écrit en Ruby et distribué via RubyGems avec la commande gem install fastlane.

Fastlane est apparu en 2015 comme un outil iOS, mais s'est rapidement étendu à Android. Aujourd'hui, c'est un écosystème de dizaines d'actions — des commandes intégrées qui peuvent être combinées en scénarios appelés lanes. Chaque lane effectue une tâche spécifique : par exemple, build_release compile la version de publication et deploy_beta télécharge le build vers TestFlight.

Fastlane est utilisé par des entreprises comme Uber, Airbnb, Snapchat, Twitter et Shopify. Selon une enquête de 2024, plus de 60 % des développeurs iOS utilisent Fastlane dans leurs projets. L'outil prend en charge à la fois l'exécution locale et l'intégration avec les systèmes CI cloud, ce qui en fait le standard de facto pour le CI/CD mobile.

ruby
# Installation de Fastlane
sudo gem install fastlane -NV

# Initialisation dans le projet
fastlane init

Après l'initialisation, Fastlane crée un répertoire fastlane/ avec trois fichiers : Fastfile (scénarios), Appfile (paramètres de l'application) et Matchfile (paramètres des certificats). Cette structure reste identique pour les deux plateformes — iOS et Android.

Fastfile et lanes

Le fichier de configuration principal de Fastlane est Fastfile. Il se trouve dans le répertoire fastlane/ à la racine du projet. Fastfile est écrit en Ruby : chaque lane est un bloc nommé contenant une séquence d'actions. Une lane peut accepter des paramètres, appeler d'autres lanes et retourner des valeurs.

ruby
# fastlane/Fastfile — exemple pour iOS
default_platform(:ios)

platform :ios do
  desc "Build and upload to TestFlight"
  lane :beta do
    match(type: "appstore")
    gym(scheme: "MyApp", configuration: "Release")
    pilot(skip_waiting_for_build: true)
  end

  desc "Deploy to App Store"
  lane :release do
    ensure_git_status_clean
    match(type: "appstore")
    gym(scheme: "MyApp")
    deliver(
      skip_metadata: true,
      skip_screenshots: true
    )
    push_to_git_remote(tags: true)
  end
end

Chaque lane est exécutée avec la commande fastlane ios beta ou fastlane ios release. Fastfile prend en charge les variables, les conditions, les boucles et les appels de scripts externes — c'est un fichier Ruby complet. Les développeurs peuvent réutiliser le code via private_lane (méthodes locales) et import depuis d'autres Fastfiles.

Fastlane fournit plus de 200 actions intégrées pour la plupart des tâches. Si l'action nécessaire n'existe pas, vous pouvez écrire la vôtre en Ruby ou appeler une commande shell avec sh("..."). Les actions peuvent accepter des paramètres — paramètres de build, chemins, jetons d'accès — et retourner des résultats pour les étapes suivantes.

Automatisation des builds iOS

Fastlane pour iOS résout trois problèmes clés : la gestion des certificats et des profils de provisionnement, la compilation de l'IPA via Xcode et la publication sur App Store Connect et TestFlight. Chacune de ces tâches est couverte par une action distincte.

match est une action pour la gestion des certificats. Il stocke tous les certificats et profils de provisionnement dans un dépôt Git crypté. Chaque développeur et serveur CI utilise le même ensemble de fichiers, éliminant les conflits et les problèmes de certificats expirés. Match met automatiquement à jour les profils lorsque de nouveaux appareils sont ajoutés.

sigh crée et télécharge un profil de provisionnement via l'Apple Developer Portal. Il est utilisé lorsque vous avez besoin d'obtenir rapidement un profil pour un type spécifique : development, ad-hoc ou appstore.

gym compile l'IPA. Gym encapsule xcodebuild avec des paramètres optimaux, sélectionne automatiquement le schéma, la configuration, les options d'exportation et crée une IPA signée. Exemple : gym(scheme: "MyApp", export_method: "app-store").

pilot gère TestFlight. Il télécharge le build, ajoute des testeurs et suit l'état de la révision. deliver s'occupe de la publication complète sur l'App Store, y compris les métadonnées, les captures d'écran, les prix et les versions.

ruby
# Compilation et publication d'une app iOS
lane :deploy_ios do
  cocoapods
  match(type: "appstore", readonly: true)
  gym(scheme: "MyApp", export_method: "app-store")
  pilot(changelog: "Bug fixes and performance improvements")
end

Travailler avec App Store Connect nécessite des jetons d'accès. Fastlane prend en charge deux méthodes d'authentification : la clé API App Store Connect (recommandée) et l'identifiant Apple avec authentification à deux facteurs. Les clés API sont plus pratiques pour le CI/CD car elles ne nécessitent pas de saisie interactive de mot de passe.

ActionObjectifÉquivalent manuel
matchGestion des certificats et profilsApple Developer Portal
sighCréation de profil de provisionnementXcode + Developer Portal
gymCompilation IPAxcodebuild + xcrun
pilotTéléchargement TestFlightXcode Organizer
deliverPublication App StoreApp Store Connect Web
scanExécution de tests UIxcodebuild test

Automatisation des builds Android

Sur Android, Fastlane automatise la compilation via Gradle, la signature d'APK et d'AAB, le téléchargement vers Google Play Console et Firebase App Distribution.

gradle est l'action principale pour les builds Android. Elle appelle le wrapper Gradle avec les tâches nécessaires : gradle(task: "assembleRelease") ou gradle(task: "bundleRelease") pour l'AAB. Vous pouvez passer des indicateurs, des variables d'environnement et le chemin vers gradle.properties.

supply télécharge l'APK ou l'AAB vers Google Play Console. Supply gère les versions, les pistes (internal, alpha, beta, production), les notes de version, les prix et la distribution par pays. Exemple : supply(track: "beta", release_status: "completed").

screengrab crée des captures d'écran pour Google Play. Il exécute des tests d'instrumentation qui capturent des captures d'écran de l'application sur différents appareils et langues. Les captures d'écran résultantes sont téléchargées via supply.

ruby
# Compilation et publication d'une app Android
lane :deploy_android do
  gradle(task: "clean bundleRelease")
  supply(
    track: "beta",
    release_status: "completed",
    version_code: 42
  )
end
ActionObjectifÉquivalent manuel
gradleCompilation avec Gradle./gradlew assembleRelease
supplyTéléchargement vers Google PlayGoogle Play Console Web
screengrabCréation de captures d'écranCapture manuelle + ImageMagick
firebase_app_distributionDistribution via FirebaseFirebase Console Upload

Intégration CI/CD

Fastlane est conçu pour fonctionner dans les pipelines CI/CD. Il gère correctement le mode non interactif, les variables d'environnement et les artefacts de build. Vous trouverez ci-dessous des exemples d'intégration avec les systèmes CI populaires.

Dans GitHub Actions, Fastlane est exécuté comme un script Ruby. Un workflow typique : installer Ruby et Fastlane, configurer les clés (certificats, jetons API via secrets) et exécuter la lane. iOS nécessite un runner macOS ; Android fonctionne sur ubuntu-latest.

Dans GitLab CI, Fastlane est utilisé dans .gitlab-ci.yml avec une configuration similaire : installer les dépendances, exécuter fastlane et passer les artefacts. GitLab CI prend en charge les runners macOS et Linux.

Bitrise — un CI/CD spécialisé pour les applications mobiles — prend en charge Fastlane de manière intégrée. Bitrise Workflow peut appeler le Fastlane Step ou exécuter des scripts personnalisés avec fastlane. Bitrise gère les certificats via son gestionnaire de signature de code.

ruby
# Fastfile pour CI/CD avec exécution conditionnelle de tests
lane :ci_test do
  scan(scheme: "MyApp", code_coverage: true)
end

lane :ci_beta do
  ensure_git_status_clean
  version_bump_podspec(path: "MyApp.podspec")
  match(type: "appstore", readonly: true)
  gym(scheme: "MyApp", export_method: "app-store")
  pilot(distribute_external: true)
end

Un aspect important de l'intégration CI/CD est le stockage des secrets. Fastlane utilise le fichier .env via dotenv et les variables d'environnement. Pour iOS, les variables critiques sont : MATCH_PASSWORD, FASTLANE_APPLE_API_KEY, FASTLANE_APPLE_API_KEY_ID. Pour Android : SUPPLY_JSON_KEY_DATA — le contenu du compte de service Google Play.

Actions Fastlane populaires

Fastlane comprend plus de 200 actions intégrées. Vous trouverez ci-dessous un aperçu des plus populaires avec leur plateforme et leur description.

ActionPlateformeDescription
gymiOSCompiler l'IPA avec des paramètres xcodebuild optimisés
matchiOSSynchroniser certificats et profils de provisionnement via Git
pilotiOSTélécharger le build vers TestFlight et gérer les testeurs
deliveriOSPublier l'application sur l'App Store avec métadonnées
scaniOSExécuter les tests unitaires et UI avec génération de rapport
gradleAndroidExécuter les tâches Gradle : assemble, bundle, test
supplyAndroidTélécharger APK et AAB vers Google Play Console
screengrabAndroidCaptures d'écran automatiques pour Google Play
firebase_app_distributionAndroidDistribuer les builds via Firebase
snapshotiOSCaptures d'écran automatiques sur simulateurs pour l'App Store
increment_build_numberiOSAuto-incrémentation du numéro de build dans le projet Xcode
appcenter_uploadLes deuxTélécharger le build vers App Center

Pour trouver l'action nécessaire, utilisez la commande fastlane action [nom], qui affiche la documentation, les paramètres et des exemples. La liste complète est disponible localement : fastlane actions.

Fastlane prend également en charge les plugins — des extensions communautaires qui ajoutent de nouvelles actions. Les plugins sont installés via fastlane add_plugin [nom] et sont disponibles dans le registre RubyGems. Exemples de plugins populaires : fastlane-plugin-versioning (gestion de versions), fastlane-plugin-sentry (télécharger les symboles de débogage vers Sentry), fastlane-plugin-teams (notifications dans Microsoft Teams).

Questions Fréquentes

Qu'est-ce que Fastlane et à quoi ça sert ?

Fastlane est un outil d'automatisation des builds et de publication d'applications mobiles. Il remplace les opérations manuelles — compilation, signature de code, téléchargement vers les magasins — par une seule commande. Fastlane réduit le temps de publication de quelques heures à quelques minutes et élimine les erreurs humaines lors de la publication.

Puis-je utiliser Fastlane uniquement pour Android ou uniquement pour iOS ?

Oui. Fastlane prend en charge les deux plateformes indépendamment. iOS nécessite macOS, tandis que Android nécessite uniquement Linux. Dans un seul Fastfile, vous pouvez séparer les lanes par plateforme : platform :ios do ... end et platform :android do ... end.

Comment Fastlane gère-t-il les certificats iOS ?

Via l'action match. Il stocke les certificats cryptés et les profils de provisionnement dans un dépôt Git. Chaque développeur clone le dépôt, match déchiffre les fichiers avec le mot de passe de la variable MATCH_PASSWORD et les installe dans le trousseau. Cela résout le problème "ça marche sur ma machine".

Fastlane fonctionne-t-il avec Firebase App Distribution ?

Oui. Fastlane dispose d'une action intégrée firebase_app_distribution pour télécharger APK et IPA vers Firebase App Distribution. firebase_app_distribution_add_testers est également disponible pour ajouter des testeurs. Une alternative est l'action appcenter_upload pour App Center.

Comment installer Fastlane sur un serveur CI ?

Fastlane s'installe via RubyGems : gem install fastlane -NV. iOS nécessite macOS avec Xcode ; Android nécessite Linux ou macOS avec JDK et Android SDK. Dans GitHub Actions, il existe une action prête à l'emploi ruby/setup-ruby pour installer Ruby et Fastlane. Les variables d'environnement sont transmises via les secrets du système CI.

Quelle est la différence entre Fastlane et Bitrise ou Jenkins ?

Fastlane est une bibliothèque et CLI pour automatiser les tâches de build et de publication. Bitrise et Jenkins sont des plateformes CI/CD complètes. Fastlane fonctionne à l'intérieur de celles-ci : Jenkins exécute Fastlane comme une étape de pipeline, Bitrise appelle Fastlane via une étape dédiée. Fastlane ne remplace pas un système CI — il le complète avec des fonctionnalités spécifiques au mobile.

Résumé

  • Fastlane — outil open-source pour automatiser les builds, les tests et la publication d'applications mobiles pour iOS et Android
  • Fastfile — fichier de configuration Ruby décrivant les lanes — scénarios avec séquences d'actions
  • match + gym + pilot — le pipeline standard pour iOS : gestion des certificats, compilation IPA, téléchargement TestFlight
  • gradle + supply — le pipeline standard pour Android : compilation avec Gradle, téléchargement vers Google Play Console
  • Intégration CI/CD — Fastlane s'intègre à GitHub Actions, GitLab CI, Bitrise, Jenkins et CircleCI via des variables d'environnement
  • 200+ actions — commandes intégrées pour la signature, la compilation, les tests, les captures d'écran, la publication et les notifications
  • Plugins — extensions communautaires ajoutant de nouvelles actions : gestion de versions, Sentry, notifications dans les messageries

Nous développerons une application mobile clé en main

IT Sectr crée des applications iOS et Android pour les startups et les entreprises depuis 2017. Nous vous conseillerons et vous proposerons la meilleure solution.

Discuter du projet

Lisez aussi