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
CIの改善とfastlane plugin
Search
Kohei Tabata
January 19, 2017
Programming
0
2.8k
CIの改善とfastlane plugin
Kohei Tabata
January 19, 2017
Tweet
Share
More Decks by Kohei Tabata
See All by Kohei Tabata
AIと協業する開発の進め方
nerd0geek1
0
120
営業活動なしで継続的に案件を受注する方法 / how to get a contract without sales as a freelance
nerd0geek1
2
930
生体データを取り扱うアプリ開発の勘所
nerd0geek1
1
110
動線改善とステータス可視化で家庭内のストレスを軽減した話
nerd0geek1
3
4.3k
家庭をプロジェクトとして運営した話
nerd0geek1
2
4.2k
fastlaneの勉強会を主催して学んだこと、得たこと、悩んだこと
nerd0geek1
1
1.1k
みんなで育てるprecheck
nerd0geek1
1
740
matchとは?match導入のメリット
nerd0geek1
4
580
Improve your workflow with Sketch plugin
nerd0geek1
3
1.4k
Other Decks in Programming
See All in Programming
The Evolution of Enterprise Java with Jakarta EE 11 and Beyond
ivargrimstad
1
570
Cline指示通りに動かない? AI小説エージェントで学ぶ指示書の書き方と自動アップデートの仕組み
kamomeashizawa
1
360
Spring gRPC で始める gRPC 入門 / Introduction to gRPC with Spring gRPC
mackey0225
2
480
セキュリティマネジャー廃止とクラウドネイティブ型サンドボックス活用
kazumura
1
160
イベントストーミングから始めるドメイン駆動設計
jgeem
4
800
Agent Rules as Domain Parser
yodakeisuke
1
600
Bytecode Manipulation 으로 생산성 높이기
bigstark
1
230
Passkeys for Java Developers
ynojima
2
830
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
16
3.8k
💎 My RubyKaigi Effect in 2025: Top Ruby Companies 🌐
yasulab
PRO
1
130
カクヨムAndroidアプリのリブート
numeroanddev
0
400
無関心の谷
kanayannet
0
160
Featured
See All Featured
Producing Creativity
orderedlist
PRO
346
40k
Unsuck your backbone
ammeep
671
58k
Building a Modern Day E-commerce SEO Strategy
aleyda
41
7.3k
Speed Design
sergeychernyshev
30
990
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.7k
KATA
mclloyd
29
14k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
180
53k
Docker and Python
trallard
44
3.4k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
Code Reviewing Like a Champion
maltzj
524
40k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
106
19k
Transcript
CIͷվળͱ fastlane plugin 2017/01/19 iOS Test Night #2@DeNA
ࣗݾհ ɾKohei Tabata(@nerd0geek1) ɾSaib Studio LLC ɾiOS/MacOS/tvOS Developer ɾ࠷ۙଞͷελʔτΞοϓʹৗறͯ͠ΞϓϦ։ൃͷ ɹ͓ख͍Λ͍ͯ͠·͢ɻ
Said Studio LLC Kohei Tabata Next! Remote quick-zip plus
࣍ ɾࠓ·ͰͷCIڥ ɹϝϦοτɺσϝϦοτ ɾ࠷ۙߏஙͨ͠CIڥ ɾfastlane pluginͱ ɾ·ͱΊ
ࠓ·ͰͷCIڥ ݸਓϓϩδΣΫτࣗࣾͷখ͞ΊϓϩδΣΫτ͕ϝΠϯɻ։ൃࣗͷΈ ɹCIαʔόɿ ɹɹCircle CI(લ͔Β͓ͬͯΓɺֶशίετ͕͍ͨΊ) ɹPods/CarthageσΟϨΫτϦɿ ɹɹϦϙδτϦʹؚΊͳ͍(ϦϙδτϦΛখ͘͞อͭͨΊɻ) ɹSigningɿ ɹɹManual Signing(fastlaneΛ͏߹্ɻ։ൃऀ͕ࣗ1ਓͱ͍͏ͷ͋Δ)
ɹscriptɿ ɹجຊతʹFastfile͕ͩɺRakeλεΫΰϦΰϦ͏ɻ
ϝϦοτɾσϝϦοτ ϝϦοτ ɹɾϥΠϒϥϦؚ͕·Ε͍ͯͳ͍ɺϦϙδτϦ͕খ͘͞อͨΕΔɻ ɹɾϦϙδτϦͷࠩཧ͕͍͢͠ɻ σϝϦοτ ɹɾ͍(ຖճɺϥΠϒϥϦͷΠϯετʔϧ͕࣮ߦ͞ΕΔͨΊɺ ɹɹɹɹ1ճͷCIʹ15-30ఔඞཁ) ɹɾRakeλεΫ͕ଐਓԽ͍͢͠ɻ
࠷ۙߏஙͨ͠CIڥ ։ൃن ɹ2016/11ʹ։࢝ͨ͠ϓϩδΣΫτɻiOSΤϯδχΞx2xि5 CIαʔό ɹCircle CI
࠷ۙߏஙͨ͠CIڥ Pods/CarthageσΟϨΫτϦɿ ɹɾશͯϦϙδτϦʹؚΊΔΑ͏ʹ(Ϗϧυ͕࣌ؒ1൪ͷωοΫʹͳͬͨͨΊ) ɹɹϦϙδτϦڊେʹͳΔ͕ɺCIɺϩʔΧϧͰͷϏϧυߴʹɻ ɹɾPRʹϥΠϒϥϦͷؚ͕ࠩ·Εͯ͠·͏ʹ͍ͭͯɺϥΠϒϥϦͷՃΛ ɹɹผPRͱͯ͢͠Δ͜ͱͰରԠɻ
࠷ۙߏஙͨ͠CIڥ Signingɿ ɹɾࣗҎ֎ʹiOSΤϯδχΞ͕͋Δ ɹɾiOSΤϯδχΞҎ֎͔ΒʮΞϓϦͷ࣮ػϏϧυ͍ͨ͠ʯͱ͍͏ཁٻ͕͋ͬͨ ɹɾΞϓϦΛࣗಈͯ͠΄͍͠ɺͱ͍͏ཁٻ͋ͬͨ ɹɹɹˣ ɹɹϩʔΧϧɿ ɹɹɹAuto SigningΛ༻ ɹɹCI্ɿ
ɹɹɹfastlane pluginͰManual Signingʹมߋ ɹɹɹxcconfigͰSigningͷઃఆΛ༩
࠷ۙߏஙͨ͠CIڥ scriptɿ Ͱ͖Δ͚ͩfastlane/FastfileʹدͤΔΑ͏ʹɻ RakeλεΫͰఆ͍ٛͯͨ͠Ϗϧυ൪߸ͷΠϯΫϦϝϯτɺfastlane pluginͱͯ͠ FastfileʹدͤΔΑ͏ʹɻ
fastlane plugin? fastlane1.93.0(2016Նࠒ)͔Β͑ΔΑ͏ʹͳͬͨػೳɻ ཁ͢Δͱɺfastlaneͷmain repoʹՃ͞ΕΔͷҰൠతʹҎԼͷͷͰɺ ɾେଟͷ։ൃऀ͕͍ͦ͏ͳͷ ɾϞόΠϧΞϓϦʹؔ͢Δۤ࿑Λগͳ͘͢Δͷ Ճ͞Εͳ͍ͷ ɾҰ෦ͷ։ൃऀʹ͔ؔ͠͠ͳ͍ͷ ɾαʔυύʔςΟʹґଘ͍ͯͯ͠ϝϯςφϯε͕େมʹͳΓͦ͏ͳͷ
ɾetc… ͦ͏͍͏ͷʹ͍ͭͯɺpluginͱͯ͠ެ։ͯ͠ɺࣗͰϝϯςφϯεͯ͠Ͷɻ
ͲΜͳplugin͕͋Δͷʁ
ͲΜͳplugin͕͋Δʁ ϓϩδΣΫτϑΝΠϧฤूܥ ɾupdate_project_code_signing(Auto/Manual Signingସ) ɾsynx(XcodeͷάϧʔϓͱϑΥϧμߏͱҰகͤ͞Δ) ɾremove_provisioning_profile(provisioning profileͷআ) Info.plistฤूܥ ɾincrement_version_number_in_plist(ΞϓϦόʔδϣϯͷฤू) ɾincrement_build_number_in_plist(Ϗϧυ൪߸ͷฤू)
δϣʔΫܥ(authorɿKrauseFx) ɾascii_art(fastlaneΞΠίϯͷAAΛੜ͢Δ͆) ɾtunes(fastlaneΛͬͯԻָΛྲྀ͆͢)
·ͱΊ ɾϫʔΫϑϩʔΛ͑Δ͜ͱ͕Ͱ͖ΔͷͳΒɺϥΠϒϥϦΛϦϙδτϦʹ ɹؚΜͩ΄͏͕ྑͦ͞͏ɻ ɾSigningपΓґવͱͯ͠Ϋη͕ڧ͍ɻ ɾfastlane plugin࡞ΔͱRakeλεΫΑΓ࠶ར༻ੑ͕ߴ·ΔͷͰྑͦ͞͏ɻ
࠷ޙʹએ 2݄ʹOrigami͞ΜͰfastlaneษڧձΓ·͢ʂ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ
ࢀߟ ɾXcode8 Ͱ։ൃͲ͏͔Θͬͨͷ͔ ɹ(https://speakerdeck.com/dealforest/xcode8-dekai-fa-hadoukawatutafalseka?slide=44) ɾfastlane Plugins ɹ(https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Plugins.md) ɾfastlane available Plugins
ɹ(https://docs.fastlane.tools/actions/#plugins)