Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
BitriseでFastlane/Gradleプラグインの統合テスト
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Kenta Kase
September 03, 2019
Programming
3.5k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
BitriseでFastlane/Gradleプラグインの統合テスト
Bitrise User Group Meetup #2での発表スライド
https://bitrise-japan.connpass.com/event/141052/
Kenta Kase
September 03, 2019
More Decks by Kenta Kase
See All by Kenta Kase
GitHub Actionsオタクによるセルフホストランナーのアーキテクチャ解説
kesin11
0
430
GitHubの新機能とGHESのリリースノートの対応をまとめ続けている話
kesin11
0
210
CircleCIでLayer Cachingを使わずにdocker buildを高速化する
kesin11
3
2.3k
CI/CDのボトルネックを把握できていますか?BigQueryでビルド情報ダッシュボードを構築した話
kesin11
7
11k
TypeScriptから使いやすいFirestore-simpleを紹介します(2020年版)
kesin11
3
2.2k
GitHub Actionsが他のCIサービスと比較してできることできないこと
kesin11
1
1.7k
iOSアプリのリジェクトリスクを早期に発見するための取り組み
kesin11
4
18k
Firebase Test Labの紹介
kesin11
4
1.6k
Cloud Functions × BigQuery
kesin11
5
2.4k
Other Decks in Programming
See All in Programming
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
340
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
160
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
120
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
260
App Intentsのビルドプロセスを支える技術
kntkymt
0
430
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
3
190
AI活用は、個人から組織へ|マルチプレイヤーエージェントハーネス「QM」の社内活用事例 / AI use is moving from individuals to orgs
rkaga
1
210
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
440
Ghostty + Neovimで作る 透明でカッコ良い開発環境
j341nono
0
120
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
530
WebMCP Challenge に星空観察アプリで参加した話
okajun35
0
190
MVNOの申込からeSIM開通までをiOSアプリでつなぐ- 本人確認・MNP・通信事業者基盤をまたぐ実装
satotakeshi
0
470
Featured
See All Featured
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
670
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
36k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
550
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
370
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
440
GraphQLとの向き合い方2022年版
quramy
50
15k
Navigating Weather and Climate Data
rabernat
0
530
Typedesign – Prime Four
hannesfritz
42
3.2k
Building AI with AI
inesmontani
PRO
1
1.2k
How to build a perfect <img>
jonoalderson
1
6k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
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Ͱ࣮ݱ • Ϗϧυͱಉ͡ڥͰςετ͍ͯ͠ΔͷͰ҆৺ • Ϣχοτςετɺ౷߹ςετΛదʹ͍ ͚·͠ΐ͏