Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ユビレジiOSアプリ開発のCI/CD環境 / iOS Test Night #1
Search
Noritaka Kamiya
November 18, 2016
Programming
5
2.4k
ユビレジiOSアプリ開発のCI/CD環境 / iOS Test Night #1
https://testnight.connpass.com/event/41323/
Noritaka Kamiya
November 18, 2016
Tweet
Share
More Decks by Noritaka Kamiya
See All by Noritaka Kamiya
キラリと光るテクニック、アプリをデモするときの心構え/iOSDC Japan 2018
nolili
4
3.5k
WWDC Pre meeting
nolili
1
3.5k
FastLane with Swift
nolili
0
170
App Transport Securityとローカルネットワーキング/iOSDC Japan 2017
nolili
1
1.6k
iOS Test Night #4
nolili
0
4k
SwiftFriendlyObjective-C/try! Swift Tokyo 2017 RejectCon
nolili
1
970
iOSアプリ開発のCI/CD環境とユビレジでのtry / CI CDNight
nolili
1
1.8k
Modern Core Data(iOS 10)
nolili
0
1.4k
iOS I/O 2016 アクセサリといっしょ
nolili
1
2.1k
Other Decks in Programming
See All in Programming
AIコーディングエージェント(skywork)
kondai24
0
160
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
120
AIコーディングエージェント(Gemini)
kondai24
0
210
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
150
宅宅自以為的浪漫:跟 AI 一起為自己辦的研討會寫一個售票系統
eddie
0
500
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略
goataka
0
130
AIコードレビューがチームの"文脈"を 読めるようになるまで
marutaku
0
350
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
agatan
2
7k
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
5
2k
【CA.ai #3】ワークフローから見直すAIエージェント — 必要な場面と“選ばない”判断
satoaoaka
0
240
大体よく分かるscala.collection.immutable.HashMap ~ Compressed Hash-Array Mapped Prefix-tree (CHAMP) ~
matsu_chara
1
220
これだけで丸わかり!LangChain v1.0 アップデートまとめ
os1ma
6
1.8k
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Faster Mobile Websites
deanohume
310
31k
Why Our Code Smells
bkeepers
PRO
340
57k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
A Tale of Four Properties
chriscoyier
162
23k
How to Think Like a Performance Engineer
csswizardry
28
2.4k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Transcript
iOS Test Night #1 @nolili Noritaka Kamiya ϢϏϨδ iOSΞϓϦ։ൃ ͷCI/CDڥ
None
None
None
ςετपΓʹؔ͢ΔͷͰ͋ΕԿͰ0,Ͱ͢ɻ ྫΛ͋͛Δͱ͢ΕҎԼͷΑ͏ͳͷͳͲͰ͢ɻ w ͜ͷςεςΟϯάϑϨʔϜϫʔΫ͕͜͜ϋϚΓͲ͜Ζ w ςεςΟϯάϑϨʔϜϫʔΫΛ͜͏͍͚͍ͬͯͯΔ w
͜͜ͷػೳ͜͏ͬͯͯ͠ςετ͍ͯ͠Δ w ࠓɺ͜ͷ$*͕͍ w $*$%ڥΛ͜ͷΑ͏ͳײ͡Ͱ࡞ΓࠐΜͰ͍Δ w +FOLJOT৬ਓͷۤ࿑ iOS Test Night
Έͳ͞Μͷ$*$%ڥͲΜͳײ͡Ͱ͔͢ʁ ·ͩͬͯͳ͍ ࠓ࡞ͬͯΔ όϦόϦճͯ͠Δ ❓
ϢϏϨδͷCI/CDڥ
Travis CI UFTUJ04 ࠷৽ͷJ044JNVMBUPSͰςετ UFTUJ04MFHBDZ αϙʔτ͍ͯ͠Δݹ͍J044JNVMBUPSͰςετ MJOU TXJGUMJOU εΫϦϓτ EJTUSJCVUJPO
Ϗϧυɺ ಠࣗαʔό
Test test iOS iOS 9.3, iPad Air/iPad 2 test iOS
legacy iOS 8.4, iPad Air/iPad 2 ΞʔΩςΫνϟΛཏͭͭ͠ɺγϛϡϨʔλΓସ͑࣌ͷτϥϒϧΛ͙ ฒྻ࣮ߦͯ͠ςετ࣌ؒͷॖ XCTest, KIF
lint swiftlint
distribution Ad-HocϏϧυΛPull-Request୯ҐͰ࡞ Πϯετʔϧ͙࣮ͯ͢͠ػͰ֬ೝͰ͖Δ Releaseλά͕͋ΕApp Store༻࡞
͏·͘ճͨ͢Ίʹ৺͕͚͍ͯΔ͜ͱ
.travis.yml + Rakefile CI/CDͷϑϩʔશͯίʔυʹهड़ ୭ͰPRͰվળ͕Ͱ͖Δ CI/CDͷվળίʔυϨϏϡʔ͢Δ͜ͱͰɺଐਓԽ͕ى͖ʹ͘͘ͳΔɻ νʔϜ։ൃͰͳ͍߹ΦʔόʔεϖοΫ͔͠Εͳ͍ɻ
Cocoapods BundlerͰόʔδϣϯΛཧ ./Pods ϦϙδτϦʹؚΊΔ Ϗϧυ࣌ͷঢ়ଶΛ෮ݩͰ͖ΔΑ͏ʹ͓ͯ͘͠ɻgit bisectָɻ CocoapodsͷόʔδϣϯΛཧ͢Εࠩग़ͳ͍ɻ
Xcode Server ࢼݧతʹಋೖத σόΠεςετ ιʔείʔυ੩తղੳͰ݈શੑνΣοΫ ͓कΓ͕େม .xcodeserver ϑΝΠϧͷΑ͏ͳͷͰཧͰ͖ΔΑ͏ʹͳͬͯ΄͍͠…!
CIαʔϏεͷґଘΛݮΒ͢ Fastlane, XCJobs, Rake(Script) ڈCircleCI -> Travis CI ͷҾӽ͠Λ2ճ࣮ࢪ
None
None
iOSͷCI/CDڥ1ʹ࠷1յΕΔ Xcode iTunes Connect มߋʹै͢ΔίετΛߟ͑Δ γϯϓϧʹอͭ Ͳͷ͘Β͍࡞ΓࠐΉ͔ SwiftͷόʔδϣϯབྷΈ࢝ΊΔ ࣮ࠓյΕ͍ͯͯम෮தɹ" Γ͑ݕ౼த
ςετपΓʹؔ͢ΔͷͰ͋ΕԿͰ0,Ͱ͢ɻ ྫΛ͋͛Δͱ͢ΕҎԼͷΑ͏ͳͷͳͲͰ͢ɻ w ͜ͷςεςΟϯάϑϨʔϜϫʔΫ͕͜͜ϋϚΓͲ͜Ζ w ςεςΟϯάϑϨʔϜϫʔΫΛ͜͏͍͚͍ͬͯͯΔ w
͜͜ͷػೳ͜͏ͬͯͯ͠ςετ͍ͯ͠Δ w ࠓɺ͜ͷ$*͕͍ w $*$%ڥΛ͜ͷΑ͏ͳײ͡Ͱ࡞ΓࠐΜͰ͍Δ w +FOLJOT৬ਓͷۤ࿑
ࠓɺ͜ͷ$*͕͍ˠ$*αʔϏεʹґଘ͠ͳ͍࡞ΓΛ $*$%ڥΛ͜ͷΑ͏ͳײ͡Ͱ࡞ΓࠐΜͰ͍ΔˠγϯϓϧͰɾมߋʹैΛ +FOLJOT৬ਓͷۤ࿑ˠશͯΛϦϙδτϦʹೖΕͯɺ৬ਓΛ࡞Βͳ͍
Γ͍ͨ CI/CDڥͲΜͳײ͡Ͱ͔͢?# ͲͷλΠϛϯάͰϝϯςφϯε͍ͯ͠·͔͢?
iOS Test Night #1 @nolili Noritaka Kamiya ϢϏϨδ iOSΞϓϦ։ൃ ͷCI/CDڥ