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.5k
WWDC Pre meeting
nolili
1
3.5k
FastLane with Swift
nolili
0
180
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
990
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 Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
330
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
430
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
680
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
230
開発に寄りそう自動テストの実現
goyoki
2
1.6k
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
440
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
920
ゆくKotlin くるRust
exoego
1
180
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
8
3.5k
認証・認可の基本を学ぼう後編
kouyuume
0
260
Jetpack XR SDKから紐解くAndroid XR開発と技術選定のヒント / about-androidxr-and-jetpack-xr-sdk
drumath2237
1
220
JETLS.jl ─ A New Language Server for Julia
abap34
2
470
Featured
See All Featured
Applied NLP in the Age of Generative AI
inesmontani
PRO
3
2k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
97
The Mindset for Success: Future Career Progression
greggifford
PRO
0
200
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
34
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
0
46
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
43
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
How to make the Groovebox
asonas
2
1.9k
Discover your Explorer Soul
emna__ayadi
2
1k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
2
270
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
Evolving SEO for Evolving Search Engines
ryanjones
0
89
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ڥ