Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Build Automation with Fastlane

Build Automation with Fastlane

A short introduction how to use Fastlane to automate tedious parts of iOS app deployment

Vytis Šibonis

April 01, 2015
Tweet

More Decks by Vytis Šibonis

Other Decks in Programming

Transcript

  1. BACKGROUND • Wahanda - largest health and beauty marketplace in

    Europe • Distributed team • 5 iOS devs, 2 projects
  2. DEPLOYMENT REQUIREMENTS • Should be same process for all apps

    • For hybrid apps involves fetching updated assets • External and internal testers
  3. FASTLANE • Scriptable tools for all iOS deployment tasks: •

    Sigh - provisioning profile management • Deliver - uploading builds and metadata • Snapshot - screenshot creation • Easy to integrate with other 3rd party tools http://fastlane.tools
  4. FASTFILE • One place to connect everything - Fastfile: •

    Ruby, similar to Rakefile • Organized in ‘lanes’ • Made to use Fastlane tools or regular ruby code
  5. EXAMPLE • Simple app with 2 tabs • Release and

    Beta build using a combination of Schemes and Configurations in Xcode. • Distribution and crash reporting through HockeyApp FastApp
  6. LANES lane :beta do sigh :adhoc ipa({ configuration: "AdHoc", scheme:

    "FastApp ß", }) end Beta lane :release do sigh( adhoc: true ) ipa({ configuration: "AppStore", scheme: "FastApp", }) deliver :force, :skip_deploy end Release
  7. LANES before_all do ENV["SLACK_URL"] = "https:// hooks.slack.com/services/..." increment_build_number commit_version_bump add_git_tag

    end Before all lanes after_all do hockey({ api_token: '<Token>' }) slack({ message: "Successfully deployed a new version of FastApp.", success: true, channel: '#general' }) end After all lanes