Fastlane: qué es, automatización de builds y publicaciones

Autor: IT Sectr Publicado: 2026-02-13 Tiempo de lectura: 10 min

Fastlane es una herramienta de automatización de builds y publicaciones de aplicaciones móviles para iOS y Android. Fastlane gestiona la firma de código, la compilación, la ejecución de pruebas, la creación de capturas de pantalla y la carga en App Store Connect y Google Play Console. Es el estándar de facto para CI/CD en el desarrollo móvil.

Conclusiones principales

  • Fastlane automatiza todo el pipeline de lanzamiento móvil: compilación, pruebas, firma y publicación con un solo comando
  • Fastfile es un archivo de configuración en Ruby donde se describen las lanes — escenarios de automatización con nombre
  • Soporte para iOS y Android — Fastlane funciona con Xcode, Gradle, App Store Connect, Google Play, TestFlight y Firebase
  • match y sigh — gestión de certificados y provisioning profiles para desarrollo iOS
  • Integración con CI/CD — Fastlane se integra en GitHub Actions, GitLab CI, Bitrise, Jenkins y CircleCI

Fastlane — qué es

Fastlane es una herramienta open-source que automatiza tareas rutinarias del desarrollo móvil: compilar la aplicación, ejecutar pruebas, crear capturas de pantalla, gestionar certificados y cargar builds en TestFlight, App Store y Google Play. Fastlane está escrito en Ruby y se distribuye a través de RubyGems con el comando gem install fastlane.

Fastlane apareció en 2015 como una herramienta para iOS, pero rápidamente se expandió a Android. Hoy es un ecosistema de docenas de actions — comandos integrados que se pueden combinar en escenarios llamados lanes. Cada lane realiza una tarea específica: por ejemplo, build_release compila la versión de lanzamiento y deploy_beta sube el build a TestFlight.

Fastlane es utilizado por empresas como Uber, Airbnb, Snapchat, Twitter y Shopify. Según una encuesta de 2024, más del 60% de los desarrolladores iOS usan Fastlane en sus proyectos. La herramienta admite tanto la ejecución local como la integración con sistemas CI en la nube, lo que la convierte en el estándar de facto para CI/CD móvil.

ruby
# Instalación de Fastlane
sudo gem install fastlane -NV

# Inicialización en el proyecto
fastlane init

Después de la inicialización, Fastlane crea un directorio fastlane/ con tres archivos: Fastfile (escenarios), Appfile (configuración de la app) y Matchfile (configuración de certificados). Esta estructura es la misma para ambas plataformas: iOS y Android.

Fastfile y lanes

El archivo de configuración principal de Fastlane es Fastfile. Se encuentra en el directorio fastlane/ en la raíz del proyecto. Fastfile está escrito en Ruby: cada lane es un bloque con nombre que contiene una secuencia de actions. Un lane puede aceptar parámetros, llamar a otros lanes y devolver valores.

ruby
# fastlane/Fastfile — ejemplo para 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

Cada lane se ejecuta con el comando fastlane ios beta o fastlane ios release. Fastfile admite variables, condiciones, bucles y llamadas a scripts externos — es un archivo Ruby completo. Los desarrolladores pueden reutilizar código mediante private_lane (métodos locales) e import desde otros Fastfiles.

Fastlane proporciona más de 200 actions integradas para la mayoría de las tareas. Si no existe la action necesaria, se puede escribir una propia en Ruby o llamar a un comando shell con sh("..."). Las actions pueden aceptar parámetros — configuración de compilación, rutas, tokens de acceso — y devolver resultados para usarlos en pasos siguientes.

Automatización de builds iOS

Fastlane para iOS resuelve tres problemas clave: gestión de certificados y provisioning profiles, compilación de IPA mediante Xcode y publicación en App Store Connect y TestFlight. Cada una de estas tareas está cubierta por una action específica.

match es una action para la gestión de certificados. Almacena todos los certificados y provisioning profiles en un repositorio Git cifrado. Cada desarrollador y servidor CI usan el mismo conjunto de archivos, lo que elimina conflictos y problemas con certificados caducados. Match actualiza automáticamente los perfiles al añadir nuevos dispositivos.

sigh crea y descarga un provisioning profile a través de Apple Developer Portal. Se usa cuando se necesita obtener rápidamente un perfil para un tipo específico: development, ad-hoc o appstore.

gym compila el IPA. Gym envuelve xcodebuild con parámetros óptimos, selecciona automáticamente el esquema, la configuración, las opciones de exportación y crea un IPA firmado. Ejemplo: gym(scheme: "MyApp", export_method: "app-store").

pilot gestiona TestFlight. Sube el build, añade testers y realiza un seguimiento del estado de la revisión. deliver se encarga de la publicación completa en App Store, incluyendo metadatos, capturas de pantalla, precios y versiones.

ruby
# Compilación y publicación de una 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

Para trabajar con App Store Connect se necesitan tokens de acceso. Fastlane admite dos métodos de autenticación: App Store Connect API Key (recomendado) y Apple ID con autenticación de dos factores. Las claves API son más convenientes para CI/CD ya que no requieren introducir la contraseña de forma interactiva.

ActionPropósitoEquivalente manual
matchGestión de certificados y perfilesApple Developer Portal
sighCreación de provisioning profileXcode + Developer Portal
gymCompilación de IPAxcodebuild + xcrun
pilotCarga en TestFlightXcode Organizer
deliverPublicación en App StoreApp Store Connect Web
scanEjecución de tests UIxcodebuild test

Automatización de builds Android

En Android, Fastlane automatiza la compilación mediante Gradle, la firma de APK y AAB, la carga en Google Play Console y Firebase App Distribution.

gradle es la action principal para compilaciones Android. Llama al wrapper de Gradle con las tareas necesarias: gradle(task: "assembleRelease") o gradle(task: "bundleRelease") para AAB. Se pueden pasar flags, variables de entorno y la ruta a gradle.properties.

supply sube APK o AAB a Google Play Console. Supply gestiona versiones, tracks (internal, alpha, beta, production), notas de la versión, precios y distribución por país. Ejemplo: supply(track: "beta", release_status: "completed").

screengrab crea capturas de pantalla para Google Play. Ejecuta tests de instrumentación que toman capturas de la app en diferentes dispositivos e idiomas. Las capturas resultantes se suben mediante supply.

ruby
# Compilación y publicación de una app Android
lane :deploy_android do
  gradle(task: "clean bundleRelease")
  supply(
    track: "beta",
    release_status: "completed",
    version_code: 42
  )
end
ActionPropósitoEquivalente manual
gradleCompilación con Gradle./gradlew assembleRelease
supplyCarga en Google PlayGoogle Play Console Web
screengrabCreación de capturasCaptura manual + ImageMagick
firebase_app_distributionDistribución mediante FirebaseFirebase Console Upload

Integración con CI/CD

Fastlane está diseñado para funcionar en pipelines CI/CD. Maneja correctamente el modo no interactivo, las variables de entorno y los artefactos de compilación. A continuación se muestran ejemplos de integración con sistemas CI populares.

En GitHub Actions, Fastlane se ejecuta como un script de Ruby. Un flujo de trabajo típico: instalar Ruby y Fastlane, configurar claves (certificados, tokens API mediante secrets) y ejecutar el lane. iOS requiere un runner macOS; Android funciona en ubuntu-latest.

En GitLab CI, Fastlane se usa en .gitlab-ci.yml con un esquema similar: instalar dependencias, ejecutar fastlane y pasar artefactos. GitLab CI admite runners macOS y Linux.

Bitrise — un CI/CD especializado para aplicaciones móviles — tiene soporte integrado para Fastlane. Bitrise Workflow puede llamar al Fastlane Step o ejecutar scripts personalizados con fastlane. Bitrise gestiona los certificados a través de su gestor de Code Signing.

ruby
# Fastfile para CI/CD con ejecución condicional 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 aspecto importante de la integración con CI/CD es el almacenamiento de secretos. Fastlane utiliza el archivo .env mediante dotenv y variables de entorno. Para iOS, las variables críticas son: MATCH_PASSWORD, FASTLANE_APPLE_API_KEY, FASTLANE_APPLE_API_KEY_ID. Para Android: SUPPLY_JSON_KEY_DATA — el contenido de la cuenta de servicio de Google Play.

Actions populares de Fastlane

Fastlane incluye más de 200 actions integradas. A continuación se ofrece una visión general de las más populares con su plataforma y propósito.

ActionPlataformaDescripción
gymiOSCompilar IPA con parámetros optimizados de xcodebuild
matchiOSSincronizar certificados y provisioning profiles mediante Git
pilotiOSSubir build a TestFlight y gestionar testers
deliveriOSPublicar app en App Store con metadatos
scaniOSEjecutar tests unitarios y UI con generación de informes
gradleAndroidEjecutar tareas de Gradle: assemble, bundle, test
supplyAndroidSubir APK y AAB a Google Play Console
screengrabAndroidCapturas automáticas para Google Play
firebase_app_distributionAndroidDistribuir builds mediante Firebase
snapshotiOSCapturas automáticas en simuladores para App Store
increment_build_numberiOSAuto-incremento del build number en el proyecto Xcode
appcenter_uploadAmbasSubir build a App Center

Para buscar la action necesaria se usa el comando fastlane action [nombre], que muestra documentación, parámetros y ejemplos. La lista completa está disponible localmente: fastlane actions.

Fastlane también admite plugins — extensiones de la comunidad que añaden nuevas actions. Los plugins se instalan mediante fastlane add_plugin [nombre] y están disponibles en el registro de RubyGems. Ejemplos de plugins populares: fastlane-plugin-versioning (gestión de versiones), fastlane-plugin-sentry (subir símbolos de depuración a Sentry), fastlane-plugin-teams (notificaciones en Microsoft Teams).

Preguntas Frecuentes

¿Qué es Fastlane y para qué sirve?

Fastlane es una herramienta de automatización de builds y publicación de aplicaciones móviles. Sirve para reemplazar las operaciones manuales — compilación, firma, carga en tiendas — con un solo comando. Fastlane reduce el tiempo de lanzamiento de horas a minutos y elimina los errores humanos durante la publicación.

¿Puedo usar Fastlane solo para Android o solo para iOS?

Sí. Fastlane admite ambas plataformas de forma independiente. iOS requiere macOS, mientras que Android solo necesita Linux. En un mismo Fastfile se pueden separar las lanes por plataforma: platform :ios do ... end y platform :android do ... end.

¿Cómo gestiona Fastlane los certificados iOS?

A través de la action match. Almacena certificados cifrados y provisioning profiles en un repositorio Git. Cada desarrollador clona el repositorio, match descifra los archivos con la contraseña de la variable MATCH_PASSWORD y los instala en el llavero. Esto resuelve el problema de "en mi máquina funciona".

¿Fastlane funciona con Firebase App Distribution?

Sí. Fastlane tiene una action integrada firebase_app_distribution para subir APK e IPA a Firebase App Distribution. También está disponible firebase_app_distribution_add_testers para añadir testers. Una alternativa es la action appcenter_upload para App Center.

¿Cómo instalo Fastlane en un servidor CI?

Fastlane se instala mediante RubyGems: gem install fastlane -NV. iOS requiere macOS con Xcode; Android requiere Linux o macOS con JDK y Android SDK. En GitHub Actions existe una action preparada ruby/setup-ruby para instalar Ruby y Fastlane. Las variables de entorno se pasan mediante los secrets del sistema CI.

¿En qué se diferencia Fastlane de Bitrise o Jenkins?

Fastlane es una biblioteca y CLI para automatizar tareas de compilación y publicación. Bitrise y Jenkins son plataformas CI/CD completas. Fastlane funciona dentro de ellas: Jenkins ejecuta Fastlane como un paso del pipeline, Bitrise llama a Fastlane mediante un Step dedicado. Fastlane no reemplaza un sistema CI, sino que lo complementa con funcionalidad específica para móviles.

Resumen

  • Fastlane es una herramienta open-source para automatizar builds, pruebas y publicación de apps móviles en iOS y Android
  • Fastfile es un archivo Ruby de configuración donde se describen las lanes — escenarios con secuencias de actions
  • match + gym + pilot — el pipeline estándar para iOS: gestión de certificados, compilación IPA, carga en TestFlight
  • gradle + supply — el pipeline estándar para Android: compilación con Gradle, carga en Google Play Console
  • Integración CI/CD — Fastlane se integra en GitHub Actions, GitLab CI, Bitrise, Jenkins y CircleCI mediante variables de entorno
  • 200+ actions — comandos integrados para firma, compilación, pruebas, capturas, publicación y notificaciones
  • Plugins — extensiones de la comunidad que añaden nuevas actions: versionado, Sentry, notificaciones en mensajería

Desarrollaremos una aplicación móvil llave en mano

IT Sectr crea aplicaciones para iOS y Android para startups y empresas desde 2017. Le asesoraremos y le propondremos la mejor solución.

Discutir el proyecto

Lea también