fastlane
fastlane is the easiest way to automate beta deployments and releases for your iOS and Android apps. π It handles all tedious tasks, like generating screenshots, dealing with code signing, and releasing your application.
You can start by creating a Fastfile
file in your repository, hereβs one that defines your beta or App Store release process:
lane :beta do
increment_build_number
build_app
upload_to_testflight
end
lane :release do
capture_screenshots
build_app
upload_to_app_store # Upload the screenshots and the binary to iTunes
slack # Let your team-mates know the new version is live
end
You just defined 2 different lanes, one for beta deployment, one for App Store. To release your app in the App Store, all you have to do is
fastlane release
Why fastlane?
fastlane | |
---|---|
π | Save hours every time you push a new release to the store or beta testing service |
β¨ | Integrates with all your existing tools and services (more than 400 integrations) |
π | 100% open source under the MIT license |
π© | Easy setup assistant to get started in a few minutes |
β | Runs on your machine, it's your app and your data |
π» | Integrates with all major CI systems |
π₯ | Supports iOS, Mac, and Android apps |
π§ | Extend and customise fastlane to fit your needs, you're not dependent on anyone |
π | Never remember any commands any more, just fastlane |
π’ | Deploy from any computer, including a CI server |
Getting Started
Install the latest Xcode command line tools:
xcode-select --install
Install fastlane using
# Using RubyGems
sudo gem install fastlane -NV
# Alternatively using Homebrew
brew cask install fastlane
Navigate to your iOS or Android app and run
fastlane init
fastlane will automatically detect your project, and ask for any missing information.
For more details about how to get up and running, check out the getting started guides:
Questions and support
Before submitting a new GitHub issue, please make sure to search for existing GitHub issues.
If that doesn't help, please submit an issue on GitHub and provide information about your setup, in particular the output of the fastlane env
command.
System requirements
Currently, fastlane is officially supported to run on macOS.
But we are working on π§ Linux and π₯οΈ Windows support for parts of fastlane. Some underlying software like Xcode or iTunes Transporter is only available for macOS, but many other tools and actions can theoretically also work on other platforms. Please see this Github issue for further information.
fastlane team
Special thanks to all contributors for extending and improving fastlane.
Metrics
fastlane tracks a few key metrics to understand how developers are using the tool and to help us know what areas need improvement. No personal/sensitive information is ever collected. Metrics that are collected include:
- The number of fastlane runs
- A salted hash of the app identifier or package name, which helps us anonymously identify unique usage of fastlane
You can easily opt-out of metrics collection by adding opt_out_usage
at the top of your Fastfile
or by setting the environment variable FASTLANE_OPT_OUT_USAGE
. Check out the metrics code on GitHub
License
This project is licensed under the terms of the MIT license. See the LICENSE file.
This project and all fastlane tools are in no way affiliated with Apple Inc. This project is open source under the MIT license, which means you have full access to the source code and can modify it to fit your own needs. All fastlane tools run on your own computer or server, so your credentials or other sensitive information will never leave your own computer. You are responsible for how you use fastlane tools.