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.3k
ユビレジ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
140
App Transport Securityとローカルネットワーキング/iOSDC Japan 2017
nolili
1
1.4k
iOS Test Night #4
nolili
0
3.8k
SwiftFriendlyObjective-C/try! Swift Tokyo 2017 RejectCon
nolili
1
860
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
第3回関東Kaggler会_AtCoderはKaggleの役に立つ
chettub
3
1.2k
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
8
1.3k
DRFを少しずつ オニオンアーキテクチャに寄せていく DjangoCongress JP 2025
nealle
2
270
color-scheme: light dark; を完全に理解する
uhyo
7
490
Boos Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
350
Flutter × Firebase Genkit で加速する生成 AI アプリ開発
coborinai
0
170
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
260
バッチを作らなきゃとなったときに考えること
irof
2
530
XStateを用いた堅牢なReact Components設計~複雑なClient Stateをシンプルに~ @React Tokyo ミートアップ #2
kfurusho
1
990
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
5
1.1k
はじめての Go * WASM *OCR
sgash708
1
100
一休.com のログイン体験を支える技術 〜Web Components x Vue.js 活用事例と最適化について〜
atsumim
0
1k
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
A Tale of Four Properties
chriscoyier
158
23k
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
Typedesign – Prime Four
hannesfritz
40
2.5k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Building Applications with DynamoDB
mza
93
6.2k
Being A Developer After 40
akosma
89
590k
Why Our Code Smells
bkeepers
PRO
336
57k
A Modern Web Designer's Workflow
chriscoyier
693
190k
GitHub's CSS Performance
jonrohan
1030
460k
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ڥ