SlideShare a Scribd company logo
Build and release
iOS apps using
Fastlane tools
Dmytro Cheverda, iOS engineer
20.10.2018
Fastlane
● Open-source
● Uses public Apple API
● Script based
● Written in Ruby
Why do we needed it?
● Long manual deploy durations
● Certificates and profiles sharing
Old deployment process
1. Version bump
2. Commit
3. Check provisioning profiles
4. Check signing certificates
5. Build
6. Export
7. Upload
How build process works
● Check for valid certificates
● Check for provisioning profiles
● Compile sources
● Sign app with certificate
Essential Fastlane actions
● sigh - provisioning profiles
● cert - signing certificates
● match - sync certificates and profiles between developers
● pem - APNS certificates
● gym - building projects
● deliver - uploading IPA, screenshots, metadata to AppStoreConnect
Fastlane install
Note: works only on mac os
Initial setup
$ fastlane init
Note: you need paid Apple Developer Program to run this properly
Generated Fastlane folder
● Appfile - bundle ID, Apple ID, etc.
● Fastfile - lanes configuration
● Matchfile - git url, Apple ID auth info, etc.
● metadata folder - text files with details for AppStoreConnect
● screenshots folder - stores taken screenshots
Lane configuration
Another lane configuration
More complex lane example
Start a lane
Lane report
Error handling
Additional actions
● run_tests
● swiftlint
● cocoapods
● clear_derived_data
● notification
● Many more can be found here: https://docs.fastlane.tools/actions/
● Or written yourself
Common problems we had
● No access to git repo
● Beta Xcode version selected for development
● Multiple targets
● Wrong provisioning profile used
● UTF-8 encoding not enabled
Ways to improve
● Complete CI/CD
● Automate every possible scenarios ()
Tips and tricks
● Actions can be run as part of lane or independently in Terminal
● Environment variables can be used for default params
● Be aware of default parameters values
● Lanes can be private
● Use to track AppStore metadata in git
● Basic support for Android and crossplatform (ReactNative, Flutter)
● Own actions can be local or submitted to main repo
Many companies use it
Pros and cons
Pros:
● Saves developer time
● Extensible
● Configurable
● Large community
● Good documentation
Cons:
● Sometimes strange errors may take time to fix
Summary
● Build process is speed up to one command
● Certificates and provisioning profiles are shared across the team
● Deployment is unified and machine-independent
● Easy to dive in for new team members
Useful links
● https://docs.fastlane.tools
● https://docs.fastlane.tools/actions/
● https://github.com/fastlane/fastlane
● https://github.com/fastlane/examples
● https://habr.com/company/sberbank/blog/424023/
Thanks!
Q&A

More Related Content

PDF
Fastlane - Automation and Continuous Delivery for iOS Apps
PDF
How OpenShift SDN helps to automate
PDF
DevOps beyond the Tools
PDF
Optimize your CI/CD with GitLab and AWS
PPTX
Oracle Database (CDB) on Docker を動かしてみる
PDF
[Red Hat] OpenStack Automation with Ansible
PDF
Istio : Service Mesh
PDF
System Hardening Using Ansible
Fastlane - Automation and Continuous Delivery for iOS Apps
How OpenShift SDN helps to automate
DevOps beyond the Tools
Optimize your CI/CD with GitLab and AWS
Oracle Database (CDB) on Docker を動かしてみる
[Red Hat] OpenStack Automation with Ansible
Istio : Service Mesh
System Hardening Using Ansible

What's hot (20)

PDF
New Features in Confluent Platform 6.0 / Apache Kafka 2.6
PPTX
Kubernetes PPT.pptx
PDF
Hadoop and Kerberos
PPTX
Node Labels in YARN
PPTX
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
PDF
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とは
PDF
AWS와 함께 하는 클라우드 컴퓨팅 - 홍민우 AWS 매니저
ODT
Load Balancing with HAproxy
PDF
When Kafka Meets the Scaling and Reliability needs of World's Largest Retaile...
PDF
20200826 AWS Black Belt Online Seminar AWS CloudFormation
PPTX
Introduction to AWS Amplify and the Amplify CLI Toolchain
PDF
Kafka for Real-Time Replication between Edge and Hybrid Cloud
PDF
How Kubernetes helps Devops
PDF
AWS Black Belt Techシリーズ AWS SDK
PDF
Kubernetes API - deep dive into the kube-apiserver
PDF
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
PPTX
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
PDF
What Makes Software Green?
PDF
[JAWS-UG Tokyo 32] AWS Client VPNの特徴
PPTX
Mass Migrate Virtual Machines to Kubevirt with Tool Forklift 2.0
New Features in Confluent Platform 6.0 / Apache Kafka 2.6
Kubernetes PPT.pptx
Hadoop and Kerberos
Node Labels in YARN
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とは
AWS와 함께 하는 클라우드 컴퓨팅 - 홍민우 AWS 매니저
Load Balancing with HAproxy
When Kafka Meets the Scaling and Reliability needs of World's Largest Retaile...
20200826 AWS Black Belt Online Seminar AWS CloudFormation
Introduction to AWS Amplify and the Amplify CLI Toolchain
Kafka for Real-Time Replication between Edge and Hybrid Cloud
How Kubernetes helps Devops
AWS Black Belt Techシリーズ AWS SDK
Kubernetes API - deep dive into the kube-apiserver
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
What Makes Software Green?
[JAWS-UG Tokyo 32] AWS Client VPNの特徴
Mass Migrate Virtual Machines to Kubevirt with Tool Forklift 2.0
Ad

Similar to Build and release iOS apps using Fastlane tools (20)

PDF
How to deploy a Java application on Google App engine Flexible environment
PDF
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
PDF
10 tips for continuous integration
PPTX
Unify logz with fluentd
PPTX
DevOps for SAP CPI presentation
PDF
Accessing Google Cloud APIs
PDF
My "Perfect" Toolchain Setup for Grails Projects
ODP
Moodle Development Best Pracitces
PDF
GeoServer Developers Workshop
PDF
Vibe Coding_ Develop a web application using AI (1).pdf
PPTX
Modern Web-site Development Pipeline
PDF
Guiding Diffy to the Enterprise land
PPTX
Cloud-Native .NET
PDF
Expedia 3x3 presentation
PPTX
Building a scalable app factory with Appcelerator Platform
DOCX
SamSegalResume
PPTX
Infinite Scale - Introduction to Google App Engine
PDF
(phpconftw2012) PHP as a Middleware in Embedded Systems
PDF
Cloud Native Development
PDF
O'Leary - Using GitHub for Enterprise and Open Source Documentation
How to deploy a Java application on Google App engine Flexible environment
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
10 tips for continuous integration
Unify logz with fluentd
DevOps for SAP CPI presentation
Accessing Google Cloud APIs
My "Perfect" Toolchain Setup for Grails Projects
Moodle Development Best Pracitces
GeoServer Developers Workshop
Vibe Coding_ Develop a web application using AI (1).pdf
Modern Web-site Development Pipeline
Guiding Diffy to the Enterprise land
Cloud-Native .NET
Expedia 3x3 presentation
Building a scalable app factory with Appcelerator Platform
SamSegalResume
Infinite Scale - Introduction to Google App Engine
(phpconftw2012) PHP as a Middleware in Embedded Systems
Cloud Native Development
O'Leary - Using GitHub for Enterprise and Open Source Documentation
Ad

More from Wise Engineering (6)

PDF
Releasing Elixir/Phoenix Applications
PDF
Transition to Infrastructure as Code
PDF
Local development environment evolution
PDF
Scheduled delivery of a large amount of emails
PDF
Launch safely with Feature Flags
PDF
Search query assistance. Autosuggestion
Releasing Elixir/Phoenix Applications
Transition to Infrastructure as Code
Local development environment evolution
Scheduled delivery of a large amount of emails
Launch safely with Feature Flags
Search query assistance. Autosuggestion

Recently uploaded (6)

PDF
Lesson 13- HEREDITY _ pedSAWEREGFVCXZDSASEWFigree.pdf
DOC
证书学历UoA毕业证,澳大利亚中汇学院毕业证国外大学毕业证
PDF
6-UseCfgfhgfhgfhgfhgfhfhhaseActivity.pdf
PDF
heheheueueyeyeyegehehehhehshMedia-Literacy.pdf
PPTX
ASMS Telecommunication company Profile
DOC
Camb毕业证学历认证,格罗斯泰斯特主教大学毕业证仿冒文凭毕业证
Lesson 13- HEREDITY _ pedSAWEREGFVCXZDSASEWFigree.pdf
证书学历UoA毕业证,澳大利亚中汇学院毕业证国外大学毕业证
6-UseCfgfhgfhgfhgfhgfhfhhaseActivity.pdf
heheheueueyeyeyegehehehhehshMedia-Literacy.pdf
ASMS Telecommunication company Profile
Camb毕业证学历认证,格罗斯泰斯特主教大学毕业证仿冒文凭毕业证

Build and release iOS apps using Fastlane tools

  • 1. Build and release iOS apps using Fastlane tools Dmytro Cheverda, iOS engineer 20.10.2018
  • 2. Fastlane ● Open-source ● Uses public Apple API ● Script based ● Written in Ruby
  • 3. Why do we needed it? ● Long manual deploy durations ● Certificates and profiles sharing
  • 4. Old deployment process 1. Version bump 2. Commit 3. Check provisioning profiles 4. Check signing certificates 5. Build 6. Export 7. Upload
  • 5. How build process works ● Check for valid certificates ● Check for provisioning profiles ● Compile sources ● Sign app with certificate
  • 6. Essential Fastlane actions ● sigh - provisioning profiles ● cert - signing certificates ● match - sync certificates and profiles between developers ● pem - APNS certificates ● gym - building projects ● deliver - uploading IPA, screenshots, metadata to AppStoreConnect
  • 8. Initial setup $ fastlane init Note: you need paid Apple Developer Program to run this properly
  • 9. Generated Fastlane folder ● Appfile - bundle ID, Apple ID, etc. ● Fastfile - lanes configuration ● Matchfile - git url, Apple ID auth info, etc. ● metadata folder - text files with details for AppStoreConnect ● screenshots folder - stores taken screenshots
  • 12. More complex lane example
  • 16. Additional actions ● run_tests ● swiftlint ● cocoapods ● clear_derived_data ● notification ● Many more can be found here: https://docs.fastlane.tools/actions/ ● Or written yourself
  • 17. Common problems we had ● No access to git repo ● Beta Xcode version selected for development ● Multiple targets ● Wrong provisioning profile used ● UTF-8 encoding not enabled
  • 18. Ways to improve ● Complete CI/CD ● Automate every possible scenarios ()
  • 19. Tips and tricks ● Actions can be run as part of lane or independently in Terminal ● Environment variables can be used for default params ● Be aware of default parameters values ● Lanes can be private ● Use to track AppStore metadata in git ● Basic support for Android and crossplatform (ReactNative, Flutter) ● Own actions can be local or submitted to main repo
  • 21. Pros and cons Pros: ● Saves developer time ● Extensible ● Configurable ● Large community ● Good documentation Cons: ● Sometimes strange errors may take time to fix
  • 22. Summary ● Build process is speed up to one command ● Certificates and provisioning profiles are shared across the team ● Deployment is unified and machine-independent ● Easy to dive in for new team members
  • 23. Useful links ● https://docs.fastlane.tools ● https://docs.fastlane.tools/actions/ ● https://github.com/fastlane/fastlane ● https://github.com/fastlane/examples ● https://habr.com/company/sberbank/blog/424023/
  • 25. Q&A