FastLane

Gerardo Lopez Falcón
ninjadevs
Published in
3 min readApr 1, 2017

The easiest way to automate building and releasing your iOS and Android apps

What is it?

Fastlane is the tool to release your iOS and Android app 🚀
It handles all tedious tasks, like generating screenshots, dealing with code signing, and releasing your application.

What can i do with fastlane?

  • ✨ Connect iOS, Mac, and Android build tools into one workflow (both fastlane tools and third party tools).
  • 🚝 Define different deployment lanes for App Store deployment, beta builds, or testing.
  • 🚢 Deploy from any computer, including a CI server.
  • 🔧 Extend and customize functionality.
  • 🎩 Easy setup assistant to get started in a few minutes.
  • 💭 Never remember any difficult commands, just fastlane.
  • 📃 Store everything in Git. Never lookup build commands in Jenkins configs again.
  • ✉️ Automatically pass on information from one build step to another (e.g. path to the ipa file).
  • 🚀 Saves you hours for every app update you release.
  • 🚠 Implement a fully working Continuous Delivery process.
  • ✏️ Flexible configuration using a fully customizable Fastfile.
  • 🐣 Over 170 built-in integrations available.
  • 💻 Support for iOS, macOS, and Android apps.

Installation

Make sure you have the latest version of the Xcode command line tools installed:

xcode-select --install

Choose your installation method:

Homebrew

brew cask install fastlane

Installer Script

Download the zip file. Then double click on the install script (or run it in a terminal window).

Rubygems

sudo gem install fastlane -NV

How does work fastlane?

Use a lane to define your process:

lane :beta do
increment_build_number
cocoapods
match
testflight
sh "./customScript.sh"
slack
end

Then to deploy a new ‘beta’ version of your app just run fastlane beta 🚀.

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:

Using the Fabric app

If you’re not familiar with the terminal and prefer a graphical user interface, download the Fabric app and use the built-in fastlane button.

Available Commands

Typically you’ll use fastlane by triggering individual lanes:

fastlane [lane_name]

Other Commands

  • fastlane actions: List all available fastlane actions
  • 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

If you’d like to take a look at a project already using fastlane check out fastlane-examples which includes fastlane setups by Wikipedia, Product Hunt, MindNode, and more.

Fastlane Toolchain

In addition to fastlane's commands, you also have access to these fastlane tools:

  • deliver: Upload screenshots, metadata, and your app to the App Store
  • supply: Upload your Android app and its metadata to Google Play
  • snapshot: Automate taking localized screenshots of your iOS and tvOS apps on every device
  • screengrab: Automate taking localized screenshots of your Android 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
  • scan: The easiest way to run tests for your iOS and Mac apps

--

--

Gerardo Lopez Falcón
ninjadevs

Google Developer Expert & Sr Software Engineer & DevOps &. Soccer Fan