Fastlane: o que é, automação de builds e publicações

Autor: IT Sectr Publicado: 2026-02-13 Tempo de leitura: 10 min

Fastlane é uma ferramenta de automação de builds e publicações de aplicativos móveis para iOS e Android. Fastlane gerencia a assinatura de código, compilação, execução de testes, criação de capturas de tela e envio para App Store Connect e Google Play Console. É o padrão de facto para CI/CD no desenvolvimento móvel.

Principais conclusões

  • Fastlane automatiza todo o pipeline de lançamento móvel: build, teste, assinatura e publicação com um único comando
  • Fastfile é um arquivo de configuração em Ruby que descreve lanes — cenários de automação nomeados
  • Suporte a iOS e Android — Fastlane funciona com Xcode, Gradle, App Store Connect, Google Play, TestFlight e Firebase
  • match e sigh — gerenciamento de certificados e provisioning profiles para desenvolvimento iOS
  • Integração com CI/CD — Fastlane integra-se ao GitHub Actions, GitLab CI, Bitrise, Jenkins e CircleCI

Fastlane — o que é

Fastlane é uma ferramenta open-source que automatiza tarefas rotineiras do desenvolvimento móvel: compilar o aplicativo, executar testes, criar capturas de tela, gerenciar certificados e enviar builds para TestFlight, App Store e Google Play. Fastlane é escrito em Ruby e distribuído via RubyGems com o comando gem install fastlane.

Fastlane surgiu em 2015 como uma ferramenta para iOS, mas rapidamente se expandiu para Android. Hoje é um ecossistema de dezenas de actions — comandos integrados que podem ser combinados em cenários chamados lanes. Cada lane executa uma tarefa específica: por exemplo, build_release compila a versão de lançamento e deploy_beta envia o build para o TestFlight.

Fastlane é usado por empresas como Uber, Airbnb, Snapchat, Twitter e Shopify. De acordo com uma pesquisa de 2024, mais de 60% dos desenvolvedores iOS usam Fastlane em seus projetos. A ferramenta suporta tanto execução local quanto integração com sistemas CI em nuvem, tornando-se o padrão de facto para CI/CD móvel.

ruby
# Instalação do Fastlane
sudo gem install fastlane -NV

# Inicialização no projeto
fastlane init

Após a inicialização, o Fastlane cria um diretório fastlane/ com três arquivos: Fastfile (cenários), Appfile (configurações do app) e Matchfile (configurações de certificados). Esta estrutura permanece a mesma para ambas as plataformas — iOS e Android.

Fastfile e lanes

O arquivo de configuração principal do Fastlane é o Fastfile. Ele está localizado no diretório fastlane/ na raiz do projeto. O Fastfile é escrito em Ruby: cada lane é um bloco nomeado com uma sequência de actions. Uma lane pode aceitar parâmetros, chamar outras lanes e retornar valores.

ruby
# fastlane/Fastfile — exemplo 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 é executada com o comando fastlane ios beta ou fastlane ios release. O Fastfile suporta variáveis, condições, loops e chamadas de scripts externos — é um arquivo Ruby completo. Os desenvolvedores podem reutilizar código através de private_lane (métodos locais) e import de outros Fastfiles.

Fastlane fornece mais de 200 actions integradas para a maioria das tarefas. Se a action necessária não existir, você pode escrever a sua própria em Ruby ou chamar um comando shell com sh("..."). As actions podem aceitar parâmetros — configurações de build, caminhos, tokens de acesso — e retornar resultados para uso nas etapas seguintes.

Automação de builds iOS

Fastlane para iOS resolve três problemas principais: gerenciamento de certificados e provisioning profiles, compilação de IPA via Xcode e publicação no App Store Connect e TestFlight. Cada uma dessas tarefas é coberta por uma action específica.

match é uma action para gerenciamento de certificados. Ele armazena todos os certificados e provisioning profiles em um repositório Git criptografado. Cada desenvolvedor e servidor CI usa o mesmo conjunto de arquivos, eliminando conflitos e problemas com certificados expirados. O Match atualiza automaticamente os perfis quando novos dispositivos são adicionados.

sigh cria e baixa um provisioning profile através do Apple Developer Portal. É usado quando você precisa obter rapidamente um perfil para um tipo específico: development, ad-hoc ou appstore.

gym compila o IPA. O Gym envolve xcodebuild com parâmetros ideais, seleciona automaticamente o esquema, configuração, opções de exportação e cria um IPA assinado. Exemplo: gym(scheme: "MyApp", export_method: "app-store").

pilot gerencia o TestFlight. Ele envia o build, adiciona testers e acompanha o status da revisão. deliver cuida da publicação completa na App Store, incluindo metadados, capturas de tela, preços e versões.

ruby
# Compilação e publicação de um 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

Trabalhar com App Store Connect requer tokens de acesso. Fastlane suporta dois métodos de autenticação: App Store Connect API Key (recomendado) e Apple ID com autenticação de dois fatores. As chaves de API são mais convenientes para CI/CD, pois não exigem entrada interativa de senha.

ActionPropósitoEquivalente manual
matchGerenciamento de certificados e perfisApple Developer Portal
sighCriação de provisioning profileXcode + Developer Portal
gymCompilação de IPAxcodebuild + xcrun
pilotEnvio para TestFlightXcode Organizer
deliverPublicação na App StoreApp Store Connect Web
scanExecução de testes UIxcodebuild test

Automação de builds Android

No Android, Fastlane automatiza a compilação via Gradle, assinatura de APK e AAB, envio para Google Play Console e Firebase App Distribution.

gradle é a action principal para compilações Android. Ele chama o wrapper do Gradle com as tarefas necessárias: gradle(task: "assembleRelease") ou gradle(task: "bundleRelease") para AAB. Você pode passar flags, variáveis de ambiente e o caminho para gradle.properties.

supply envia APK ou AAB para o Google Play Console. O Supply gerencia versões, tracks (internal, alpha, beta, production), notas de versão, preços e distribuição por país. Exemplo: supply(track: "beta", release_status: "completed").

screengrab cria capturas de tela para o Google Play. Ele executa testes de instrumentação que capturam screenshots do aplicativo em diferentes dispositivos e idiomas. As capturas resultantes são enviadas via supply.

ruby
# Compilação e publicação de um app Android
lane :deploy_android do
  gradle(task: "clean bundleRelease")
  supply(
    track: "beta",
    release_status: "completed",
    version_code: 42
  )
end
ActionPropósitoEquivalente manual
gradleCompilação com Gradle./gradlew assembleRelease
supplyEnvio para Google PlayGoogle Play Console Web
screengrabCriação de capturas de telaCaptura manual + ImageMagick
firebase_app_distributionDistribuição via FirebaseFirebase Console Upload

Integração com CI/CD

Fastlane foi projetado para funcionar em pipelines CI/CD. Ele lida corretamente com modo não interativo, variáveis de ambiente e artefatos de build. Abaixo estão exemplos de integração com sistemas CI populares.

No GitHub Actions, Fastlane é executado como um script Ruby. Um fluxo de trabalho típico: instalar Ruby e Fastlane, configurar chaves (certificados, tokens de API via secrets) e executar a lane. iOS requer um runner macOS; Android funciona no ubuntu-latest.

No GitLab CI, Fastlane é usado em .gitlab-ci.yml com configuração semelhante: instalar dependências, executar fastlane e passar artefatos. GitLab CI suporta runners macOS e Linux.

Bitrise — um CI/CD especializado para aplicativos móveis — tem suporte integrado ao Fastlane. O Bitrise Workflow pode chamar o Fastlane Step ou executar scripts personalizados com fastlane. O Bitrise gerencia certificados através do seu gerenciador de Code Signing.

ruby
# Fastfile para CI/CD com execução condicional de testes
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

Um aspecto importante da integração com CI/CD é o armazenamento de segredos. Fastlane usa o arquivo .env via dotenv e variáveis de ambiente. Para iOS, as variáveis críticas são: MATCH_PASSWORD, FASTLANE_APPLE_API_KEY, FASTLANE_APPLE_API_KEY_ID. Para Android: SUPPLY_JSON_KEY_DATA — o conteúdo da conta de serviço do Google Play.

Actions populares do Fastlane

Fastlane inclui mais de 200 actions integradas. Abaixo está uma visão geral das mais populares com sua plataforma e propósito.

ActionPlataformaDescrição
gymiOSCompilar IPA com parâmetros otimizados do xcodebuild
matchiOSSincronizar certificados e provisioning profiles via Git
pilotiOSEnviar build para TestFlight e gerenciar testers
deliveriOSPublicar app na App Store com metadados
scaniOSExecutar testes unitários e UI com geração de relatório
gradleAndroidExecutar tarefas do Gradle: assemble, bundle, test
supplyAndroidEnviar APK e AAB para Google Play Console
screengrabAndroidCapturas de tela automáticas para Google Play
firebase_app_distributionAndroidDistribuir builds via Firebase
snapshotiOSCapturas de tela automáticas em simuladores para App Store
increment_build_numberiOSAuto-incremento do build number no projeto Xcode
appcenter_uploadAmbasEnviar build para App Center

Para encontrar a action necessária, use o comando fastlane action [nome], que exibe documentação, parâmetros e exemplos. A lista completa está disponível localmente: fastlane actions.

Fastlane também suporta plugins — extensões da comunidade que adicionam novas actions. Os plugins são instalados via fastlane add_plugin [nome] e estão disponíveis no registro RubyGems. Exemplos de plugins populares: fastlane-plugin-versioning (gerenciamento de versões), fastlane-plugin-sentry (enviar símbolos de depuração para Sentry), fastlane-plugin-teams (notificações no Microsoft Teams).

Perguntas Frequentes

O que é Fastlane e para que serve?

Fastlane é uma ferramenta de automação de builds e publicação de aplicativos móveis. Ela substitui operações manuais — compilação, assinatura de código, envio para lojas — por um único comando. Fastlane reduz o tempo de lançamento de horas para minutos e elimina erros humanos durante a publicação.

Posso usar Fastlane apenas para Android ou apenas para iOS?

Sim. Fastlane suporta ambas as plataformas de forma independente. iOS requer macOS, enquanto Android só precisa de Linux. Em um único Fastfile você pode separar lanes por plataforma: platform :ios do ... end e platform :android do ... end.

Como o Fastlane gerencia certificados iOS?

Através da action match. Ele armazena certificados criptografados e provisioning profiles em um repositório Git. Cada desenvolvedor clona o repositório, o match descriptografa os arquivos usando a senha da variável MATCH_PASSWORD e os instala no keychain. Isso resolve o problema de "funciona na minha máquina".

Fastlane funciona com Firebase App Distribution?

Sim. Fastlane tem uma action integrada firebase_app_distribution para enviar APK e IPA para Firebase App Distribution. Também está disponível firebase_app_distribution_add_testers para adicionar testers. Uma alternativa é a action appcenter_upload para App Center.

Como instalo Fastlane em um servidor CI?

Fastlane é instalado via RubyGems: gem install fastlane -NV. iOS requer macOS com Xcode; Android requer Linux ou macOS com JDK e Android SDK. No GitHub Actions existe uma action pronta ruby/setup-ruby para instalar Ruby e Fastlane. Variáveis de ambiente são passadas através dos secrets do sistema CI.

Qual a diferença entre Fastlane e Bitrise ou Jenkins?

Fastlane é uma biblioteca e CLI para automatizar tarefas de build e publicação. Bitrise e Jenkins são plataformas CI/CD completas. Fastlane funciona dentro delas: Jenkins executa Fastlane como uma etapa do pipeline, Bitrise chama Fastlane através de um Step dedicado. Fastlane não substitui um sistema CI — ele o complementa com funcionalidade específica para dispositivos móveis.

Resumo

  • Fastlane é uma ferramenta open-source para automatizar builds, testes e publicação de apps móveis para iOS e Android
  • Fastfile é um arquivo de configuração Ruby que descreve lanes — cenários com sequências de actions
  • match + gym + pilot — o pipeline padrão para iOS: gerenciamento de certificados, compilação IPA, envio para TestFlight
  • gradle + supply — o pipeline padrão para Android: compilação com Gradle, envio para Google Play Console
  • Integração CI/CD — Fastlane integra-se ao GitHub Actions, GitLab CI, Bitrise, Jenkins e CircleCI via variáveis de ambiente
  • 200+ actions — comandos integrados para assinatura, compilação, testes, capturas de tela, publicação e notificações
  • Plugins — extensões da comunidade que adicionam novas actions: versionamento, Sentry, notificações em mensageiros

Vamos desenvolver um aplicativo móvel chave na mão

A IT Sectr cria aplicativos para iOS e Android para startups e empresas desde 2017. Nós vamos aconselhá-lo e propor a melhor solução.

Discutir o projeto

Leia também