LinuxCommandLibrary

fastlane

Automate mobile app deployment processes

TLDR

Build and sign the iOS application in the current directory

$ fastlane run build_app
copy

Run pod install for the project in the current directory
$ fastlane run cocoapods
copy

Delete the derived data from Xcode
$ fastlane run clear_derived_data
copy

Remove the cache for pods
$ fastlane run clean_cocoapods_cache
copy

SYNOPSIS

fastlane [options] [lane]

PARAMETERS

-h, --help
    Display help information

--version, -v
    Print fastlane version

--verbose
    Increase verbosity of output

--debug
    Enable debug mode for troubleshooting

--no-update
    Disable automatic fastlane updates

-c, --continue
    Continue on error

--skip-update-check
    Skip checking for updates

--env ENV
    Specify environment variables

DESCRIPTION

Fastlane is an open-source automation platform designed to simplify and accelerate the deployment of mobile applications for iOS, Android, and other platforms. On Linux, it runs via Ruby and automates tasks like building, testing, signing, and releasing apps without manual intervention.

It uses Lane files (Fastfiles) written in Ruby to define workflows, called lanes, which sequence actions like gym for building iOS apps or gradle for Android. This eliminates repetitive CI/CD drudgery, integrates with tools like Jenkins or GitHub Actions, and supports beta distribution via services like TestFlight or Firebase.

Primarily for developers, fastlane excels in monorepos or cross-platform projects. Linux users install it via RubyGems (gem install fastlane), making it portable across environments. It fetches plugins dynamically and provides fast feedback loops, though it requires Xcode for full iOS support (via macOS VMs on Linux setups).

With thousands of actions available, it scales from personal projects to enterprise pipelines, saving hours per release cycle.

CAVEATS

Requires Ruby >= 2.5; iOS workflows need macOS/Xcode (use VMs on Linux); heavy on plugins which may introduce dependencies.
Large projects might require significant RAM/CPU.

INSTALLATION

Run sudo gem install fastlane or brew install fastlane (Linuxbrew). Init with fastlane init.

FASTFILE EXAMPLE

fastlane :beta do gym upload_to_testflight end

HISTORY

Created in 2014 by Felix Krause to automate iOS screenshots and uploads. Evolved into full CI/CD suite; now maintained by the Fastlane Foundation post-Google involvement (2018-2022). Widely adopted with >50k GitHub stars.

SEE ALSO

gem(1), bundle(1), ruby(1)

Copied to clipboard