πŸš€ The easiest way to automate building and releasing your iOS and Android apps
Ruby Objective-C Shell HTML Java Swift
Latest commit 1467788 Jan 22, 2017 @hjanuschka hjanuschka committed on GitHub Allow GeofencingIcon + LocationTracking Icon (#7940)
Permalink
Failed to load latest commit information.
.assets Update Gemfile for monogem (#7612) Dec 21, 2016
.github Update PULL_REQUEST_TEMPLATE.md (#7863) Jan 14, 2017
bin Print fastlane path when running `fastlane -v` (#7733) Jan 4, 2017
cert Finish platform support for cert & sigh (#7730) Jan 20, 2017
credentials_manager Update to new macOS spelling (#7948) Jan 21, 2017
deliver add `json_file?` helper (#7878) Jan 17, 2017
fastlane Update to new macOS spelling (#7948) Jan 21, 2017
fastlane_core Update to new macOS spelling (#7948) Jan 21, 2017
frameit Prevent text to appear in stdout/stderr during rspec (#7942) Jan 21, 2017
gym Added support for providing utf flag to xcpretty via gym/xcodebuild (#… Jan 18, 2017
match fix 404 error: update link to bitrise.io/faq (#7849) Jan 13, 2017
pem Update to new macOS spelling (#7948) Jan 21, 2017
pilot Update StackOverflow and RubyGems links to use https (#7795) Jan 10, 2017
produce produce - enabled_features feature (#7641) Jan 11, 2017
rakelib Migrate fastlane to be a mono gem (#7436) Dec 15, 2016
scan [scan] Add support for thread sanitizer (#7946) Jan 21, 2017
screengrab Add reinstall_app config to screengrab to uninstall the APKs before r… Jan 20, 2017
sigh Finish platform support for cert & sigh (#7730) Jan 20, 2017
snapshot Allow GeofencingIcon + LocationTracking Icon (#7940) Jan 22, 2017
spaceship Finish platform support for cert & sigh (#7730) Jan 20, 2017
supply add `json_file?` helper (#7878) Jan 17, 2017
.gitignore Add .keys to .gitignore Sep 28, 2016
.hound.yml Switched to fastlane mono repo Mar 7, 2016
.rspec Setting --default-path for rspec and made all testing directions accu… Dec 20, 2016
.rubocop.yml Merge pull request #7609 from joshdholtz/deprecated-actions Jan 17, 2017
CODE_OF_CONDUCT.md Move code of conduct to main repo and update links. Mar 7, 2016
CONTRIBUTING.md Add note about regressions (#7531) Dec 16, 2016
CORE_CONTRIBUTOR.md Add language about dependencies. (#7922) Jan 20, 2017
Dangerfile Update Danger, and use scopes for all of the core API calls (#5425) Aug 11, 2016
Gemfile Version bump to 2.1.1 (#7572) Dec 19, 2016
LICENSE Update LICENSE for all repos Mar 7, 2016
README.md Update to new macOS spelling (#7948) Jan 21, 2017
Rakefile Update Rakefile for RubyGems admins to only include relevant gems (#7752 Jan 5, 2017
RespondingToIssuesAndPullRequests.md Setting --default-path for rspec and made all testing directions accu… Dec 20, 2016
ToolsAndDebugging.md Fix broken docs links in ToolsAndDebugging.md (#7637) Dec 22, 2016
VISION.md Add VISION.md to document the fastlane philosophy (#7263) Dec 1, 2016
YourFirstPR.md Update wording around requiring an issue to be created before PR (#7829) Jan 11, 2017
circle.yml Increase ulimit to prevent issues with too many open files (#7855) Jan 13, 2017
dependencyci.yml Create dependencyci.yml (#7702) Jan 3, 2017
fastlane.gemspec Update to new macOS spelling (#7948) Jan 21, 2017
spec_helper.rb Modify ARGV instead of reassigning it to remove spurious warnings whi… Jan 21, 2017

README.md

fastlane Logo

fastlane

Twitter: @FastlaneTools License Gem Build Status

✨ Check out docs.fastlane.tools on how to get started with fastlane ✨

fastlane is a tool for iOS, Mac, and Android developers to automate tedious tasks like generating screenshots, dealing with provisioning profiles, and releasing your application.

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 πŸš€

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 customise functionality
πŸ’­ 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)
πŸ“ƒ Store everything in Git. Never lookup build commands in Jenkins configs again.
πŸš€ Saves you hours for every app update you release
✏️ Flexible configuration using a fully customisable Fastfile
🚠 Implement a fully working Continuous Delivery process
πŸ‘» Jenkins Integration: Show output directly in test results
πŸ“– Automatically generate Markdown documentation of your lane configurations
🐣 Over 170 built-in integrations available
πŸ’» Support for iOS, macOS, and Android apps
:octocat: Full Git and Mercurial support

Check out the new fastlane docs


Like this tool? Be the first to know about updates and new fastlane tools.

Installation

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

xcode-select --install

Choose your installation method:

Homebrew Installer Script Rubygems
macOS macOS macOS or Linux with Ruby 2.0.0 or above
brew cask install fastlane Download the zip file. Then double click on the install script (or run it in a terminal window). sudo gem install fastlane -NV

Quick Start

Get started distributing your first app with fastlane within minutes:

Create your first Fastfile

Want to learn more? Explore guides for iOS or Android.

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.


Check out the new fastlane docs


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

Need Help?

Please submit an issue on GitHub and provide information about your setup.

Special Thanks

Thanks to all contributors for extending and improving fastlane.

Speakers

Are you giving a talk on fastlane? Great! Let us know so we can help you give the best possible presentation.

Code of Conduct

Help us keep fastlane open and inclusive. Please read and follow our Code of Conduct.

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 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.