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.3k
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
340
GitHubの新機能とGHESのリリースノートの対応をまとめ続けている話
kesin11
0
160
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.6k
Cloud Functions × BigQuery
kesin11
5
2.4k
Other Decks in Programming
See All in Programming
Verilator + Rust + gRPC と Efinix の RISC-V でAIアクセラレータをAIで作ってる話 RTLを語る会(18) 2025/11/08
ryuz88
0
360
All(?) About Point Sets
hole
0
200
flutter_kaigi_2025.pdf
kyoheig3
1
350
AI駆動開発ライフサイクル(AI-DLC)のホワイトペーパーを解説
swxhariu5
0
1.2k
How Software Deployment tools have changed in the past 20 years
geshan
0
340
予防に勝る防御なし(2025年版) - 堅牢なコードを導く様々な設計のヒント / Growing Reliable Code PHP Conference Fukuoka 2025
twada
PRO
39
13k
関数の挙動書き換える
takatofukui
4
740
無秩序からの脱却 / Emergence from chaos
nrslib
1
5.4k
CSC509 Lecture 13
javiergs
PRO
0
260
詳細の決定を遅らせつつ実装を早くする
shimabox
1
1.3k
Module Harmony
petamoriken
2
480
Herb to ReActionView: A New Foundation for the View Layer @ San Francisco Ruby Conference 2025
marcoroth
0
140
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
A Tale of Four Properties
chriscoyier
162
23k
Facilitating Awesome Meetings
lara
57
6.6k
We Have a Design System, Now What?
morganepeng
54
7.9k
Faster Mobile Websites
deanohume
310
31k
Making Projects Easy
brettharned
120
6.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Context Engineering - Making Every Token Count
addyosmani
9
410
Code Reviewing Like a Champion
maltzj
527
40k
Embracing the Ebb and Flow
colly
88
4.9k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
39
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Ͱ࣮ݱ • Ϗϧυͱಉ͡ڥͰςετ͍ͯ͠ΔͷͰ҆৺ • Ϣχοτςετɺ౷߹ςετΛదʹ͍ ͚·͠ΐ͏