Fastlane is a suite of tools designed to automate the release process of the iOS app and provide a well-run continuous deployment process that can be triggered by simply running a simple command.
Fastlane is a collection of ruby scripts that includes the most common tasks required to submit a new app or update an existing app to the Apple store.
- deliver binary code for uploading apps, applying screenshots and raw data to the store
- Snapshot can automate localized screenshots of iOS apps on every device
- FrameIt for adding a device frame outside the app screenshot
- PEM can automatically generate and update app push notification profiles
- sigh can generate and download the developer's store configuration file
This suite supports integration with other third-party tools such as Jenkins and Cocoapods,xctools, and can define multiple channels (lanes) to support different deployment goals, such as the store, Beta testing and testing.
The typical workflow for Fastlane is as follows:
Lane:appstore do increment_build_number cocoapods xctool snapshot sigh deliver FrameIt sh "./customscript.sh" slackend
To learn more about the project, Infoq interviewed Fastlane's inventor Felix Krause.
Continuous Delivery/ deployment can give iOS what is the greatest benefit of the application deployment process? How much can this tool work under Apple's review process framework?
The main benefit is the ability to save you a lot of time each time you release an update or a new application. This is the work that iOS developers have to do in person.
When I started this project, I wasn't sure I was able to fully automate all aspects of the iOS app publishing process because there was no public API to implement it. Happily, it does work, and I've developed a complete, continuous deployment solution for a number of companies.
can you give us a brief description of the use of Fastlane Typical work flow? What are the most relevant customization options?
I use Fastlane mainly in the following scenarios:
- Perform tests on each commit (this includes unit tests and integration tests)
- Just create a new screen to send it to the customer
- Build and distribute the beta version
- Build and distribute to the store (this includes updating profiles, creating new screens, uploading apps to the App Store and submitting apps)
Some simple examples can be found on the Http://fastlane.tools website. Each developer can easily add or remove individual build steps, or even implement their own build steps.
What types of organizations do you think are (e.g., independent developers, small development organizations, large enterprises, etc.) capable of Fastlane most beneficial to use?
Independent developers and small development organizations at the start-up stage: These organizations are often not running any automated processes, and it's easy to start using Fastlane. Large enterprises often have some type of continuous integration tool that they need to adapt to the use of Fastlane.
can you tell us something about Fastlane the current adoption rate of the situation? Do you have any success stories now?
I don't want to puff, but I can share some numbers:
- All Fastlane tools are installed approximately 20,000 times
- Within three days of the first release, 10000 visits were made to Http://fastlane.tools
- All tools and Fastlane have been selected for GitHub month Ruby Trend Library
I have received feedback from some reputable companies that they have successfully integrated the Fastlane tools into their release process. Panic is one of the companies that I get the most feedback from.
drive you to create Fastlane What is the process?
I initially realized the Fastlane for only one customer, and then the Fastlane and their systems were very tightly integrated. When I talk to other developers about this, they are very excited and ask if they can also use the tool. That's why I developed this tool in a very flexible and well-documented way to share it with other iOS developers.
Originally I only developed the deliver. Then I realized that there was a lack of tools, which is why I created another four tools (SNAPSHOT,FRAMEIT,PEM and sigh). Because these programs are run on their own, I thought of connecting them in some way. It was then that I had the fastlane idea.
Fastlane is an open source toolset that can be cloned from GitHub. More details about installing, configuring, and using these tools can be found in the official guide.
View English text: Fastlane brings continuous Deployment to IOS
"Qcon Shanghai 2015" experts gathered at home and abroad to understand the latest technology trends and best practices. Best-selling "illustration of the work of tomatoes" author Staffan N?teberg, Azul Systems co-founder and CTO, famous JVM expert Gil Tene, Uber chief system architect, distributed systems expert Matt Ranney and Twitter Heron Core Developer Fu Maosung with you qcon Shanghai! Learn more.
Fastlane provides continuous deployment for iOS