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
ユビレジ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.3k
WWDC Pre meeting
nolili
1
3.4k
FastLane with Swift
nolili
0
150
App Transport Securityとローカルネットワーキング/iOSDC Japan 2017
nolili
1
1.4k
iOS Test Night #4
nolili
0
3.9k
SwiftFriendlyObjective-C/try! Swift Tokyo 2017 RejectCon
nolili
1
880
iOSアプリ開発のCI/CD環境とユビレジでのtry / CI CDNight
nolili
1
1.7k
Modern Core Data(iOS 10)
nolili
0
1.3k
iOS I/O 2016 アクセサリといっしょ
nolili
1
1.9k
Other Decks in Programming
See All in Programming
PHP で学ぶ OAuth 入門
azuki
1
130
AI時代の開発者評価について
ayumuu
0
110
マルチアカウント環境での、そこまでがんばらない RI/SP 運用設計
wa6sn
0
710
新しいPHP拡張モジュールインストール方法「PHP Installer for Extensions (PIE)」を使ってみよう!
cocoeyes02
0
350
AIコーディングワークフローの試行 〜AIエージェント×ワークフローでの自動化を目指して〜
rkaga
2
3.4k
Signal-Based Data FetchingWith the New httpResource
manfredsteyer
PRO
0
160
アプリを起動せずにアプリを開発して品質と生産性を上げる
ishkawa
0
2.6k
PHPで書いたAPIをGoに書き換えてみた 〜パフォーマンス改善の可能性を探る実験レポート〜
koguuum
0
140
Building Scalable Mobile Projects: Fast Builds, High Reusability and Clear Ownership
cyrilmottier
2
260
AI Agents with JavaScript
slobodan
0
220
SwiftUI API Design Lessons
niw
1
260
MCP調べてみました! / Exploring MCP
uhzz
2
2.2k
Featured
See All Featured
Speed Design
sergeychernyshev
29
880
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Docker and Python
trallard
44
3.3k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
104
19k
BBQ
matthewcrist
88
9.6k
The Pragmatic Product Professional
lauravandoore
33
6.5k
Being A Developer After 40
akosma
91
590k
How to Think Like a Performance Engineer
csswizardry
23
1.5k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.5k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Cult of Friendly URLs
andyhume
78
6.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ڥ