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

Our project problem


This step will be an improvement on the previous chapters, whereby we replace the Fastfile's sigh and cert entries with the use of match.

Note

You can either use the keyword match, or the alias sync_code_signing, interchangeably. For instance: sync_code_signing(type: "development", readonly: true)

Edit the Fastfile, adding the following to automatically fetch the latest code signing certificates:

…
lane :beta do
    register_devices(devices_file: "devices.txt")
    match(git_url: "https://bitbucket.org/YOUR_TEAM/YOUR_PROJECT",
      type: "development",
      app_identifier: "com.yourname.firefox")
          # gym
    # sh "your_script.sh"
    # You can also use other beta testing services here (run `fastlane actions`)
  end
…

We will be adding gym (https://docs.fastlane.tools/actions/gym) in a future chapter, to actually build our project, but for now, just create the devices.txt file in the root folder to match what we specified in register_devices in the preceding code...