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.4k
WWDC Pre meeting
nolili
1
3.4k
FastLane with Swift
nolili
0
160
App Transport Securityとローカルネットワーキング/iOSDC Japan 2017
nolili
1
1.5k
iOS Test Night #4
nolili
0
4k
SwiftFriendlyObjective-C/try! Swift Tokyo 2017 RejectCon
nolili
1
940
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
2k
Other Decks in Programming
See All in Programming
RDoc meets YARD
okuramasafumi
4
170
アプリの "かわいい" を支えるアニメーションツールRiveについて
uetyo
0
260
Flutter with Dart MCP: All You Need - 박제창 2025 I/O Extended Busan
itsmedreamwalker
0
150
複雑なドメインに挑む.pdf
yukisakai1225
5
1.1k
CJK and Unicode From a PHP Committer
youkidearitai
PRO
0
110
意外と簡単!?フロントエンドでパスキー認証を実現する WebAuthn
teamlab
PRO
2
740
FindyにおけるTakumi活用と脆弱性管理のこれから
rvirus0817
0
500
Navigating Dependency Injection with Metro
zacsweers
3
260
Ruby Parser progress report 2025
yui_knk
1
440
プロポーザル駆動学習 / Proposal-Driven Learning
mackey0225
2
1.3k
開発チーム・開発組織の設計改善スキルの向上
masuda220
PRO
20
11k
「待たせ上手」なスケルトンスクリーン、 そのUXの裏側
teamlab
PRO
0
510
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Raft: Consensus for Rubyists
vanstee
140
7.1k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.7k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
How STYLIGHT went responsive
nonsquared
100
5.8k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Optimizing for Happiness
mojombo
379
70k
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ڥ