Book Image

Continuous Delivery for Mobile with fastlane

By : Doron Katz
Book Image

Continuous Delivery for Mobile with fastlane

By: Doron Katz

Overview of this book

Competitive mobile apps depend strongly on the development team’s ability to deliver successful releases, consistently and often. Although continuous integration took a more mainstream priority among the development industry, companies are starting to realize the importance of continuity beyond integration and testing. This book starts off with a brief introduction to fastlane—a robust command-line tool that enables iOS and Android developers to automate their releasing workflow. The book then explores and guides you through all of its features and utilities; it provides the reader a comprehensive understanding of the tool and how to implement them. Themes include setting up and managing your certificates and provisioning and push notification profiles; automating the creation of apps and managing the app metadata on iTunes Connect and the Apple Developer Portal; and building, distributing and publishing your apps to the App Store. You will also learn how to automate the generation of localized screenshots and mesh your continuous delivery workflow into a continuous integration workflow for a more robust setup. By the end of the book, you will gain substantial knowledge on delivering bug free, developer-independent, and stable application release cycle.
Table of Contents (27 chapters)
Title Page
Dedication
www.PacktPub.com
Foreword
Contributors
Preface
Index

Working with fastlane and Gemfiles


Leveraging a Gemfile to run fastlane lanes and actions will yield a speedier execution of the toolchain. To get started, the first thing you will need to do is install Bundler (https://bundler.io/) by entering the following:

sudo gem install bundler

Bundler provides a consistent environment for Ruby projects by tracking and installing the exact gems and versions that are needed. Bundler is an exit from dependency hell, and it ensures that the gems you need are present in development, staging, and production. Starting work on a project is as simple as bundle install.

(source: bundler.io)

Next, create a Gemfile in the root of your project, adding the following basic template contents:

source "https://rubygems.org"
gem "fastlane"

What is happening here is that it first tells the bundler to look for gems declared in the specific Gemfile located at https://rubygems.org by default, but you can also request that gems be fetched from a private gem server. We then request...