Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
MCEConf Warsaw
Search
Felix Krause
April 21, 2016
Technology
2
420
MCEConf Warsaw
iOS and Android automation using fastlaner
Felix Krause
April 21, 2016
Tweet
Share
More Decks by Felix Krause
See All by Felix Krause
Trusting SDKs
krausefx
1
840
2017-10 Pragma: Getting started contributing to open source projects
krausefx
1
90
How to get get started contributing to open source
krausefx
3
660
Scaling Open Source Communities trySwift Tokyo
krausefx
2
1.1k
Scaling Open Source Communitites
krausefx
0
67
NSMeetup San Francisco
krausefx
1
150
fastlane - Felix Krause - Swift Language User Group
krausefx
1
24k
fastlane - Continuous Delivery for iOS Apps
krausefx
1
380
fastlane - Continuous Delivery for iOS Apps
krausefx
0
120
Other Decks in Technology
See All in Technology
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
1
120
SREが投資するAIOps ~ペアーズにおけるLLM for Developerへの取り組み~
takumiogawa
2
490
アジャイルでの品質の進化 Agile in Motion vol.1/20241118 Hiroyuki Sato
shift_evolve
0
180
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.2k
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
780
CysharpのOSS群から見るModern C#の現在地
neuecc
2
3.6k
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
『Firebase Dynamic Links終了に備える』 FlutterアプリでのAdjust導入とDeeplink最適化
techiro
0
170
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.9k
Zennのパフォーマンスモニタリングでやっていること
ryosukeigarashi
0
240
The Role of Developer Relations in AI Product Success.
giftojabu1
1
150
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
120
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
720
Designing for humans not robots
tammielis
250
25k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
110
Raft: Consensus for Rubyists
vanstee
136
6.6k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
Docker and Python
trallard
40
3.1k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
YesSQL, Process and Tooling at Scale
rocio
169
14k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Transcript
Felix Krause @KrauseFx HOW WOULD YOU LIKE 2 EXTRA HOURS
EVERY WEEK?
• “We can’t release, Chris is currently on vacation” •
“The provisioning profiles doesn’t contain all devices?” • “We can’t release an update, the build is broken” • “We need the latest screenshots for the website” • “Uh, that bug fix is not worth a new release” @KrauseFx
Release Day • Testing • Screenshots • Build • Signing
Issues • Prepare Push Certificate • Upload • Processing • Submit
None
None
Goals • Automatic Deployment • Version Control • Developer Independent
CREATING SCREENSHOTS CODE SIGNING AUTOMATING DEPLOYMENT < >
SCREENSHOTS
300 screenshots
... button.tap() snapshot("1LandingScreen") ...
... public void testTakeScreenshot() { Screengrab.screenshot("before_button_click"); onView(withId(R.id.fab)).perform(click()); } ...
None
< > PROVISIONING PROFILES
None
Build Your App Code Signing Certificate Provisioning Profile Building &
Signing Signed IPA
$ cert $ sigh $ gym
None
https://codesigning.guide
None
None
None
AUTOMATING DEPLOYMENT
Beta Deployment 1. Version Bump 2. Commit & Push 3.
Provisioning Profile 4. Build 5. Export 6. Upload 7. Add Release Notes 8. Distribute
None
None
None
None
None
$ fastlane beta
None
None
None
None
Spaceship.login("
[email protected]
") cert = Spaceship.certificate.production.all.first app = Spaceship.application.find("com.krausefx.app")
None
None
https://github.com/fastlane/boarding
https://github.com/fastlane/boarding
None
None
None
Until Now 1. Clone repo 2. Check out branch 3.
Build and install on simulator 4. Navigate in app to find the right view
None
None
What’s Next? https://fastlane.tools @KrauseFx
Thank You @KrauseFx