Permalink
Find file
e9b8dc5 Dec 1, 2016
46 lines (30 sloc) 4.97 KB

fastlane’s Philosophy

fastlane automates the beta and release deployment process for your iOS or Android apps, including build, code signing, automatic screenshot capture, and distribution of your app binaries.

fastlane will continue to evolve in ways that make it indispensable for, and focused on these needs.

fastlane aims to be elegant in success, and empathetic in failure.

fastlane provides intelligent defaults for options, prompts for missing information, and a context that automatically shares relevant information between actions. All of this allows a simple, elegant Fastfile to do a lot of powerful work.

Since errors are inevitable, fastlane should show empathy and provide a suggested solution, or attempt to solve the problem automatically. Errors that can be anticipated should not crash fastlane, and should present users with a friendly message that is easy to spot in their terminal or logs.

Actions and Plugins

fastlane saw a lot of early growth through a wide number of actions that meet a variety of needs. Actions can trigger built-in fastlane tools, talk to external tools and services, and more. However, with more than 170 built-in actions, further growth here will make fastlane harder to understand and get started with. Another consideration is that actions which ship with fastlane represent a maintenance cost for the fastlane core team.

With these challenges in mind, fastlane plugin system allows anyone to develop, share, and use new actions built and maintained by the awesome fastlane community. If you have an idea for a new fastlane action, create it as a plugin and it’ll be automatically listed in the fastlane plugin registry. The most impactful and commonly used plugins could be adopted into fastlane in the future.

fastlane Tool Responsibilities

Each fastlane tool has a specific purpose and should be kept focused on the functionality required for that task.

  • deliver: Upload screenshots, metadata, and your app binary to the App Store
  • supply: Upload your Android app and its metadata to Google Play
  • snapshot: Automate taking localized screenshots of your iOS 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 certificates
  • sigh: Because you would rather spend your time building stuff than fighting provisioning
  • produce: Create new iOS apps on iTunes Connect and Apple Developer Portal using the command line
  • cert: Automatically create and maintain iOS code signing certificates
  • spaceship: Ruby library to access the Apple Developer Portal 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

fastlane’s Relationship with Twitter and Fabric

Twitter supports app development teams with the best tools for building, understanding, and growing their mobile app businesses through Fabric.

Twitter has recognized fastlane as the best tool for tackling tough beta and release deployment challenges. In 2015 Twitter acquired the project, and Felix Krause joined the Fabric team. The team’s mission is to make fastlane the de facto tool to automate beta deployments and app store releases for iOS and Android apps.

Twitter intends to keep fastlane open source and available as a standalone tool for users who are not using Fabric. Twitter is also committed to increasing use of fastlane by promoting it through Fabric products and websites, and developing integrations with Fabric tools to help them work better together.