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
BitriseでFastlane/Gradleプラグインの統合テスト
Search
Kenta Kase
September 03, 2019
Programming
0
3.2k
BitriseでFastlane/Gradleプラグインの統合テスト
Bitrise User Group Meetup #2での発表スライド
https://bitrise-japan.connpass.com/event/141052/
Kenta Kase
September 03, 2019
Tweet
Share
More Decks by Kenta Kase
See All by Kenta Kase
GitHub Actionsオタクによるセルフホストランナーのアーキテクチャ解説
kesin11
0
330
GitHubの新機能とGHESのリリースノートの対応をまとめ続けている話
kesin11
0
150
CircleCIでLayer Cachingを使わずにdocker buildを高速化する
kesin11
3
2.2k
CI/CDのボトルネックを把握できていますか?BigQueryでビルド情報ダッシュボードを構築した話
kesin11
7
10k
TypeScriptから使いやすいFirestore-simpleを紹介します(2020年版)
kesin11
3
2.1k
GitHub Actionsが他のCIサービスと比較してできることできないこと
kesin11
1
1.6k
iOSアプリのリジェクトリスクを早期に発見するための取り組み
kesin11
4
17k
Firebase Test Labの紹介
kesin11
4
1.5k
Cloud Functions × BigQuery
kesin11
5
2.3k
Other Decks in Programming
See All in Programming
Namespace and Its Future
tagomoris
6
650
Vue・React マルチプロダクト開発を支える Vite
andpad
0
110
私の後悔をAWS DMSで解決した話
hiramax
4
170
TROCCO×dbtで実現する人にもAIにもやさしいデータ基盤
nealle
0
380
あのころの iPod を どうにか再生させたい
orumin
2
2.5k
AHC051解法紹介
eijirou
0
640
パッケージ設計の黒魔術/Kyoto.go#63
lufia
2
350
Kiroの仕様駆動開発から見えてきたAIコーディングとの正しい付き合い方
clshinji
1
180
もうちょっといいRubyプロファイラを作りたい (2025)
osyoyu
0
180
MLH State of the League: 2026 Season
theycallmeswift
0
180
The state patternの実践 個人開発で培ったpractice集
miyanokomiya
0
150
tool ディレクティブを導入してみた感想
sgash708
1
150
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
11
1k
Thoughts on Productivity
jonyablonski
69
4.8k
Being A Developer After 40
akosma
90
590k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Designing for Performance
lara
610
69k
Transcript
BitriseͰFastlane/ GradleϓϥάΠϯͷ ౷߹ςετ 2019/09/03 Bitrise User Group Meetup #2 Ճ݈ଠ
@Kesin11
ࣗݾհ • ॴଐɿDeNAͷSWETνʔϜ • Twitterɿ@Kesin11 • GitHubɿKesin11 • ͓ࣄɿݱࡏCI/CD׆༻αϙʔτɺؔ࿈ٕज़ͳͲͷ ݕূ
• લ·ͰQAνʔϜͷࣗಈԽαϙʔτ
ϓϥοτϑΥʔϜ͔Β ϦδΣΫτ͞ΕΔϦεΫΛ νΣοΫͰ͖ΔࣾπʔϧΛ ࡞͠·ͨ͠
ͱ͍͏ΛiOSDC 2019Ͱ͢Δ ༧ఆͰ͢ • ࠓͦͷπʔϧͷCI/CDͷ https://fortee.jp/iosdc-japan-2019/proposal/d51e7062-2eb1-4a86-bf5f-4928fa3b04c8
AppChecker͕νΣοΫ͢Δ༰ • iOS • XcodeɺiOS SDK͕ཁٻόʔδϣϯҎ্͔ • PrivateFrameworkΛ͍ͬͯͳ͍͔ • Android
• targetSdkVersion͕ཁٻόʔδϣϯҎ্͔ • ෆඞཁʹϓϥΠόγʔʹ݁͢ΔpermissionΛऔಘ͍ͯ͠ͳ͍͔ • ৄ͍͠iOSDCͰʂ
ࣾͰ͘ΘΕΔπʔϧͷͨΊ ςετ͔ͬ͠Γॻ͍͍ͯ͘
Ϣχοτςετ
Ϣχοτςετ • ֎෦ͷґଘmockʢٛʣ͢Δ • ྫ: XcodeͷόʔδϣϯipaͷInfo.plistͷΛνΣοΫ͍ͯ͠Δ • DTXcode: "1010" ->
Xcode 10.1ͰϏϧυ͞Εͨ • Info.plistΛύʔεͯ͠࡞ΒΕͨGem::VersionΦϒδΣΫτΛ༻ͯ͠ Ϗϧυͨ͠Xcodeͷόʔδϣϯ͕ݹ͗͢ͳ͍͔νΣοΫ • ςετͰμϛʔͷͰੜͨ͠Gem::VersionΦϒδΣΫτΛ༻ͯ͠ όʔδϣϯൺֱͷϩδοΫ͕ਖ਼͍͜͠ͱΛݕূ • ຊͷInfo.plistΛ༻ҙ͠ͳͯ͘ϩδοΫͷςετ͕Ͱ͖Δ
ϢχοτςετͰΧόʔ Ͱ͖ͳ͍͜ͱ
ϢχοτςετͰΧόʔͰ͖ͳ ͍͜ͱ • ࣮ࡍʹπʔϧΛ࣮ߦͯ͠Τϥʔ͕ى͖ͳ͍͔ • ༷ʑͳ֎෦πʔϧΛݺͼग़͍ͯ͠ΔͷͰ݁ߏෆ҆ • unzip, grep, xcrun,
otoolͳͲ • Ϗϧυڥ͕৽͘͠ͳͬͨ߹ʹΤϥʔ͕ى͖ͳ͍͔ • ಛʹXcodeͷόʔδϣϯΛ্͛ͨͱ͖
AppCheckerͷछྨ • iOS • FastlaneϓϥάΠϯɺgemελϯυΞϩϯ൛ • Android • GradleϓϥάΠϯɺgemελϯυΞϩϯ൛ •
ελϯυΞϩϯ൛͕ඞཁͳཧ༝ • Fastlane/GradleΛ༻͍ͯ͠ͳ͍ήʔϜλΠτϧ༻
AppCheckerͷछྨ • όϦΤʔγϣϯ͕ଟ͍ • ߴ͍҆ఆੑ͕ٻΊΒΕ͍ͯΔ • ଞνʔϜͷϏϧυϑϩʔʹΈࠐΜͰΒ͏ͨΊ • νΣοΫϩδοΫશͯϢχοτςετΛ ॻ͍͕ͨͦΕͰෆ҆
BitriseͰ౷߹ςετ Logo by https://www.bitrise.io/presskit
BitriseͰ౷߹ςετ • pull-req͝ͱʹ࣮ࡍͷipa/apkʹରͯ͠AppCheckerΛ࣮ߦ • Τϥʔແ͠ͰͰ͖Δ͔ • νΣοΫ݁ՌͷHTMLϨϙʔτ͕ੜ͞Ε͍ͯΔ͔ • αϯϓϧΞϓϦΛຖճϏϧυͯ͠ipa/apkΛੜ •
BitriseͰςετ͘͢͢͠ΔͨΊʹΞϓϦͷίʔυ AppCheckerͷϦϙδτϦʹؚΊͯ͠·͏ํࣜ
BitriseͰ౷߹ςετʢiOSʣ 1.FastlaneϓϥάΠϯΛϩʔΧϧ͔ΒΠϯετʔϧ 2.αϯϓϧΞϓϦϏϧυ 3.Fastlane൛Λ࣮ߦ 4.ελϯυΞϩϯ൛Λ࣮ߦ 5.exit 0 && HTMLϨϙʔτ͕ੜ͞Ε͍ͯΔ͜ͱΛ֬ೝ
BitriseͰ౷߹ςετʢiOSʣ 1.FastlaneϓϥάΠϯΛϩʔΧϧ͔ΒΠϯετʔϧ 2.αϯϓϧΞϓϦϏϧυ 3.Fastlane൛Λ࣮ߦ 4.ελϯυΞϩϯ൛Λ࣮ߦ 5.exit 0 && HTMLϨϙʔτ͕ੜ͞Ε͍ͯΔ͜ͱΛ֬ೝ
BitriseͰ౷߹ςετʢiOSʣ 1.FastlaneϓϥάΠϯΛϩʔΧϧ͔ΒΠϯετʔϧ 2.αϯϓϧΞϓϦϏϧυ 3.Fastlane൛Λ࣮ߦ 4.ελϯυΞϩϯ൛Λ࣮ߦ 5.exit 0 && HTMLϨϙʔτ͕ੜ͞Ε͍ͯΔ͜ͱΛ֬ೝ
BitriseͰ౷߹ςετʢiOSʣ 1.FastlaneϓϥάΠϯΛϩʔΧϧ͔ΒΠϯετʔϧ 2.αϯϓϧΞϓϦϏϧυ 3.Fastlane൛Λ࣮ߦ 4.ελϯυΞϩϯ൛Λ࣮ߦ 5.exit 0 && HTMLϨϙʔτ͕ੜ͞Ε͍ͯΔ͜ͱΛ֬ೝ
BitriseͰ౷߹ςετʢAndroidʣ 1.gradlew publishToMavenLocalͰϩʔΧϧ mavenʹpublish 2.αϯϓϧΞϓϦϏϧυ + AppCheckerΛ࣮ߦ 3.ελϯυΞϩϯ൛Λ࣮ߦ 4.exit 0
&& HTMLϨϙʔτ͕ੜ͞Ε͍ͯΔ͜ͱΛ ֬ೝ
BitriseͰ౷߹ςετʢAndroidʣ 1.gradlew publishToMavenLocalͰϩʔΧϧ mavenʹpublish 2.αϯϓϧΞϓϦϏϧυ + AppCheckerΛ࣮ߦ 3.ελϯυΞϩϯ൛Λ࣮ߦ 4.exit 0
&& HTMLϨϙʔτ͕ੜ͞Ε͍ͯΔ͜ͱΛ ֬ೝ
BitriseͰ౷߹ςετʢAndroidʣ 2.αϯϓϧΞϓϦϏϧυ + AppCheckerΛ࣮ߦ 3.ελϯυΞϩϯ൛Λ࣮ߦ 4.exit 0 && HTMLϨϙʔτ͕ੜ͞Ε͍ͯΔ͜ ͱΛ֬ೝ
BitriseͰ౷߹ςετʢAndroidʣ 1.publishToMavenLocalͰϩʔΧϧmavenʹ publish 2.αϯϓϧΞϓϦϏϧυ + AppCheckerΛ࣮ߦ 3.ελϯυΞϩϯ൛Λ࣮ߦ 4.exit 0 &&
HTMLϨϙʔτ͕ੜ͞Ε͍ͯΔ͜ͱ Λ֬ೝ
खݩͰࢼ͞ͳͯ͘ ҆৺ͯ͠Ϛʔδ Ͱ͖ΔΑ͏ʹͳΓ·ͨ͠
҆৺ͯ͠։ൃͰ͖ΔΑ͏ʹ ͳͬͨͷͰ ϦϦʔε࡞ۀࣗಈԽ
ϒϥϯνઓུ • feature, develop, master • ػೳ։ൃpull-reqɿdevelop <- feature •
౷߹ςετΛ࣮ߦ • ϦϦʔεpull-reqɿmaster <- develop • ࣗಈϦϦʔε࡞ۀ
ϦϦʔε࡞ۀͷࣗಈԽ • iOSgithubɺAndroidࣾmaven • masterϚʔδͰόʔδϣϯ൪߸Λ୯७૿Ճ • ྫ: 1.13.0 -> 1.14.0
• ηϚϯςΟοΫόʔδϣχϯάෆཁ • ϓϥοτϑΥʔϜଆͷ࠷৽ࣄʹରԠ͢ΔͨΊɺ ৗʹ࠷৽൛Λ͏લఏ
ϦϦʔε࡞ۀͷࣗಈԽ • gemͱgradleͷόʔδϣϯΛߋ৽ • gemόʔδϣϯߋ৽ɿBump::Bump.next_version("minor") • ଞͷඞཁͳϑΝΠϧΛਖ਼نදݱͰॻ͖͑ • iOSɿmasterʹpush •
Androidɿࣾmavenʹpublish • git tagΛ࡞ͯ͠push
ϦϦʔεϊʔτͷ࡞ • GitHubͷϦϦʔεϖʔδ͔ΒλάΛબ • ϦϦʔεϊʔτΛॻ͘ʢ·ͩखಈ...ʣ
·ͱΊ • Fastlane/GradleϓϥάΠϯͷ౷߹ςετͱ ϦϦʔεࣗಈԽΛBitriseͰ࣮ݱ • Ϗϧυͱಉ͡ڥͰςετ͍ͯ͠ΔͷͰ҆৺ • Ϣχοτςετɺ౷߹ςετΛదʹ͍ ͚·͠ΐ͏