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

Updating our Fastfile


Let’s make this even more efficient by adding a gym to our Fastfile workflow. Open up the Fastfile and go to the beta lane:

lane :beta do
    register_devices(devices_file: "devices.txt")
    match(git_url: "[email protected]:doron_katz/my-fastlane-keys.git",
      type: "development",
      app_identifier: "com.doronkatz.firefox")
      gym(scheme: "Fennec",
        output_name: "firefox.ipa",
                  configuration: "development",
                  export_method: 'ad-hoc',
        silent: false,
        output_directory: "./Export"
      )
    # sh "your_script.sh"
    # You can also use other beta testing services here (run `fastlane actions`)
  end

Let’s run fastlane beta and confirm our build action is working:

$ fastlane beta
[13:34:34]: -------------------------------------------------
[13:34:34]: --- Step: Verifying required fastlane version ---
[13:34:34]: -------------------------------------------------
[13:34:34]: Your fastlane version 2.49.0 matches...