fastlane lets you define and run your deployment pipelines for different environments. It helps you unify your apps release process and automate the whole process. fastlane connects all fastlane tools and third party tools, like CocoaPods and Slack.
Get in contact with the developer on Twitter: @FastlaneTools
Why should you have to remember complicated commands and parameters?
Store your configuration in a text file to easily test, build, and deploy from any computer.
Define different environments (
lanes) in your
Fastfile: Examples are:
You define a
lane like this (more details about the commands in the Actions documentation):
```ruby lane :release do increment_build_number cocoapods scan snapshot match deliver sh “./customScript.sh”
slack end ```
To launch the
appstore lane, just run:
| fastlane --------------------------|------------------------------------------------------------ :sparkles: | Connect all iOS and Android build tools into one workflow (both `fastlane` tools and third party tools) :monorail: | Define different `deployment lanes` for App Store deployment, beta builds or testing :ship: | Deploy from any computer, including a CI-server :wrench: | Extend and customise the functionality :thought_balloon: | Never remember any difficult commands, just `fastlane` :tophat: | Easy setup assistant to get started in a few minutes :email: | Automatically pass on information from one build step to another (e.g. path to the `ipa` file) :page_with_curl: | Store **everything** in git. Never again lookup the build commands in the `Jenkins` configs :rocket: | Saves you **hours** for every app update you release :pencil2: | Very flexible configuration using a fully customisable `Fastfile` :mountain_cableway: | Implement a fully working Continuous Delivery process :ghost: | [Jenkins Integration](https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Jenkins.md): Show the output directly in the Jenkins test results :book: | Automatically generate a markdown documentation of your lane config :hatching_chick: | Over 170 built-in integrations available :computer: | Support for both iOS, Mac OS and Android apps :octocat: | Full git and mercurial support
Take a look at the fastlane website for more information about why and when to use
Like this tool? Be the first to know about updates and new fastlane tools.
I recommend following the fastlane guide to get started.
sudo gem install fastlane --verbose
Make sure, you have the latest version of the Xcode command line tools installed:
If you experience slow launch times of fastlane, try running
to clean up outdated gems.
fastlane requires macOS or Linux with Ruby 2.0.0 or above.
If you want to take a look at a project, already using
fastlane, check out the fastlane-examples with
fastlane setups by Wikipedia, Product Hunt, MindNode and more.
The setup assistant will create all the necessary files for you, using the existing app metadata from iTunes Connect.
- Follow the setup assistant, which will set up
- Further customise the
Usually you’ll use fastlane by triggering individual lanes:
fastlane actions: List all available
fastlane action [action_name]: Shows a more detailed description of an action
fastlane lanes: Lists all available lanes with description
fastlane list: Lists all available lanes without description
fastlane new_action: Create a new action (integration) for fastlane
fastlane env: Print out the fastlane ruby environment when submitting an issue
fastlane is designed to make your life easier by bringing together all
deliver: Upload screenshots, metadata and your app to the App Store
snapshot: Automate taking localized screenshots of your iOS app on every device
frameit: Quickly put your screenshots into the right device frames
pem: Automatically generate and renew your push notification profiles
sigh: Because you would rather spend your time building stuff than fighting provisioning
produce: Create new iOS apps on iTunes Connect and Dev Portal using the command line
cert: Automatically create and maintain iOS code signing certificates
spaceship: Ruby library to access the Apple Dev Center and iTunes Connect
pilot: The best way to manage your TestFlight testers and builds from your terminal
boarding: The easiest way to invite your TestFlight beta testers
gym: Building your iOS apps has never been easier
match: Easily sync your certificates and profiles across your team using git
fastlane tracks the number of errors for each action to detect integration issues. The data will be sent to fastlane-enhancer.
You can easily opt-out by adding
opt_out_usage to your
Fastfile or by setting the environment variable
FASTLANE_OPT_OUT_USAGE. To also disable update checks, set the
A detailed description about how
fastlane stores your credentials is available on a separate repo.
Please submit an issue on GitHub and provide information about your setup
Thanks to all contributors for extending and improving
fastlane. Check out the project pages of the other tools for more sponsors and contributors.
Code of Conduct
Help us keep
fastlane open and inclusive. Please read and follow our Code of Conduct.
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 or Google. 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.