Developer tools#Deployment

fastlane: automate app store releases

fastlane automates iOS and Android releases: build, code-sign, screenshot and upload from one lane. MIT-licensed, 42k stars, config lives in your repo.

Project facts

GitHub Ecosystem
Repositorygithub.com/fastlane/fastlane
License
MIT
Language
Ruby
Stars
42,185
Data checked
2026-09-30

Snapshot figures reflect the check date and may change over time.

Shipping an app is the kind of chore that eats half a day: build in Xcode, wrestle certificates, capture dozens of localized screenshots, then upload everything to App Store Connect and Play Console by hand. fastlane (fastlane.tools) turns that pipeline into a config file in your repo: run fastlane init once, and build, signing, screenshots and uploads become steps inside a lane in your Fastfile, triggered by a single command. Created in December 2014 and still merging today, the repo sits at 42,185 stars (checked September 30, 2026), MIT-licensed, written in Ruby.

Core features

  • One lane, whole release: the docs’ example lane chains increment_build_number, capture_screenshots, build_app, upload_to_testflight and upload_to_app_store — build-number bump to store upload without babysitting (per the docs, checked September 30).
  • Localized screenshots in bulk: capture_screenshots generates the full store screenshot set across your configured languages and devices — no more hand-capturing on every simulator.
  • Code signing handled: signing is the pain the project explicitly sets out to solve, and it covers the part of iOS releases developers dread most.
  • 400+ integrations: the official count of existing tools and services it plugs into; the docs’ example even posts a slack message when the release finishes.
  • Config lives in the repo: release flow in a Fastfile, app metadata in an Appfile — committed to Git, it becomes the single source of truth for the whole team, and a new clone can ship a release.

Typical use cases

  1. iOS indie developers: a beta lane to TestFlight for testers, a release lane to the App Store; the docs claim it “saves hours every time” — ship once and you’ll see.
  2. Dual-platform teams: iOS, Mac and Android share the same lane syntax and toolchain, so you don’t maintain a second script for Play Console.
  3. CI pipelines: a lane is just a CLI entry point; call it from GitHub Actions or anywhere else, and local and CI run the identical config.

Quick start

Install via Homebrew on macOS and initialize inside your app directory (the docs prefer Bundler; brew install fastlane is the shortest path):

brew install fastlane
fastlane init

The init asks where you ship and generates a Fastfile skeleton; from there, compose steps like capture_screenshots, build_app and upload_to_testflight into your lanes and run them with fastlane <lane>.

Summary

Built for iOS and Android developers and small dual-platform teams whose release ritual costs more than half an hour; pure web projects don’t need it. Three caveats: full support is on macOS (the Xcode toolchain leaves no choice), with Linux and Windows only partially supported; the first-time setup of App Store Connect / Play API credentials and certificates is still on you; and it’s a Ruby toolchain, so someone on the team should be comfortable reading a Gemfile and plugin config. 42,185 stars, commits today, MIT — nearly twelve years of community maintenance since 2014 is the strongest endorsement it could have.