deliver • snapshot • frameit • PEM • sigh • produce • cert • codes • spaceship • pilot • boarding • gym
-------######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 xctool.
Get in contact with the developer on Twitter: @KrauseFx
Features • Installation • Quick Start • Example Setups • Documentation • Need help?
Why should you have to remember complicated commands and parameters?
Store your configuration in a text file to easily test, builld, and deploy from any computer.
Take a look at how Wikipedia and Product Hunt use fastlane
.
Define different environments (lanes
) in your Fastfile
: Examples are: appstore
, beta
and test
.
You define a lane
like this (more details about the commands in the Actions documentation):
lane :appstore do
increment_build_number
cocoapods
xctool
snapshot
sigh
deliver
sh "./customScript.sh"
slack
end
To launch the appstore
lane, just run:
fastlane appstore
| fastlane
--------------------------|------------------------------------------------------------
:sparkles: | Connect all iOS 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
🎩 | Easy setup assistant to get started in a few minutes
📧 | 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 udpate you release
:pencil2: | Very flexible configuration using a fully customisable Fastfile
🚠 | Implement a fully working Continuous Delivery process
👻 | Jenkins Integration: Show the output directly in the Jenkins test results
:book: | Automatically generate a markdown documentation of your lane config
:hatching_chick: | Over 90 built-in integrations available
:computer: | Support for both iOS and Mac OS apps
:octocat: | Full git and mercurial support
Take a look at the fastlane website for more information about why and when to use fastlane
.
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:
xcode-select --install
If you experience slow launch times of fastlane, try running
gem cleanup
to clean up outdated gems.
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.
cd [your_project_folder]
fastlane init
- Follow the setup assistant, which will set up
fastlane
for you - Further customise the
Fastfile
with actions.
For more details, please follow the fastlane guide or documentation.
There are also 2 Japanese fastlane guides available: qiita and mercari
Usually you'll use fastlane by triggering individual lanes:
fastlane [lane_name]
fastlane actions
: List all availablefastlane
actionsfastlane action [action_name]
: Shows a more detailed description of an actionfastlane lanes
: Lists all available lanes with descriptionfastlane list
: Lists all available lanes without descriptionfastlane docs
: Generates a markdown based documentation of all your lanesfastlane new_action
: Create a new action (integration) for fastlane
See how Wikipedia, Product Hunt and MindNode use fastlane
to automate their iOS submission process.
fastlane
Toolchain
fastlane
is designed to make your life easier by bringing together the fastlane
suite of tools under one roof.
deliver
: Upload screenshots, metadata and your app to the App Storesnapshot
: Automate taking localized screenshots of your iOS app on every deviceframeit
: Quickly put your screenshots into the right device framesPEM
: Automatically generate and renew your push notification profilessigh
: Because you would rather spend your time building stuff than fighting provisioningproduce
: Create new iOS apps on iTunes Connect and Dev Portal using the command linecert
: Automatically create and maintain iOS code signing certificatescodes
: Create promo codes for iOS Apps using the command linespaceship
: Ruby library to access the Apple Dev Center and iTunes Connectpilot
: The best way to manage your TestFlight testers and builds from your terminalboarding
: The easiest way to invite your TestFlight beta testersgym
: Building your iOS apps has never been easier
fastlane
tracks the number of errors for each action to detect integration issues. The data will be sent to fastlane-enhancer and is available publicly.
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 FASTLANE_SKIP_UPDATE_CHECK
variable.
A detailed description about how fastlane
stores your credentials is available on a separate repo.
- If there is a technical problem with
fastlane
, open an issue. - I'm available for contract work - drop me an email: fastlane@krausefx.com
Thanks to all contributors for extending and improving the fastlane
suite:
- Product Hunt
- MindNode
- Detroit Labs
- Josh Holtz (@joshdholtz)
- Ash Furrow (@ashfurrow)
- Dan Trenz (@dtrenz)
- Luka Mirosevic (@lmirosevic)
- Almas Sapargali (@almassapargali)
- Manuel Wallner (@milch)
- Pawel Dudek (@eldudi)
Check out the project pages of the other tools for more sponsors and contributors.
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.