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
390
GitHubの新機能とGHESのリリースノートの対応をまとめ続けている話
kesin11
0
190
CircleCIでLayer Cachingを使わずにdocker buildを高速化する
kesin11
3
2.2k
CI/CDのボトルネックを把握できていますか?BigQueryでビルド情報ダッシュボードを構築した話
kesin11
7
10k
TypeScriptから使いやすいFirestore-simpleを紹介します(2020年版)
kesin11
3
2.2k
GitHub Actionsが他のCIサービスと比較してできることできないこと
kesin11
1
1.7k
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
GoのDB アクセスにおける 「型安全」と「柔軟性」の両立 - Bob という選択肢
tak848
0
270
Rethinking API Platform Filters
vinceamstoutz
0
160
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
590
Cyrius ーLinux非依存にコンテナをネイティブ実行する専用OSー
n4mlz
0
240
Linux Kernelの1文字のミスで 権限昇格ができた話
rqda
0
2.1k
Codexに役割を持たせる 他のAIエージェントと組み合わせる実務Tips
o8n
4
1.4k
Kubernetesでセルフホストが簡単なNewSQLを求めて / Seeking a NewSQL Database That's Simple to Self-Host on Kubernetes
nnaka2992
0
180
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
970
ファインチューニングせずメインコンペを解く方法
pokutuna
0
150
AI時代の脳疲弊と向き合う ~言語学としてのPHP~
sakuraikotone
1
1.5k
安いハードウェアでVulkan
fadis
1
770
[SF Ruby Feb'26] The Silicon Heel
palkan
0
120
Featured
See All Featured
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
150
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
130
How to Think Like a Performance Engineer
csswizardry
28
2.5k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
240
Prompt Engineering for Job Search
mfonobong
0
220
From π to Pie charts
rasagy
0
160
[SF Ruby Conf 2025] Rails X
palkan
2
850
A better future with KSS
kneath
240
18k
ラッコキーワード サービス紹介資料
rakko
1
2.7M
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
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Ͱ࣮ݱ • Ϗϧυͱಉ͡ڥͰςετ͍ͯ͠ΔͷͰ҆৺ • Ϣχοτςετɺ౷߹ςετΛదʹ͍ ͚·͠ΐ͏