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
KMMのCI/CD
Search
Masatoshi Kubode
March 10, 2023
Programming
3
850
KMMのCI/CD
https://testnight.connpass.com/event/274733/
Masatoshi Kubode
March 10, 2023
Tweet
Share
More Decks by Masatoshi Kubode
See All by Masatoshi Kubode
ウォンテッドリーの「ココロオドル」モバイル開発 / Wantedly's "kokoro odoru" mobile development
kubode
2
780
Firebase Dynamic Linksの代替手段を自作する / Create your own Firebase Dynamic Links alternative
kubode
0
320
技術を根付かせる / How to make technology take root
kubode
1
340
WantedlyでのKotlin Multiplatformの導入と課題 / Kotlin Multiplatform Implementation and Challenges at Wantedly
kubode
0
420
Google Play Consoleデベロッパー アカウントの確認 / Verifying your Play Console developer account
kubode
1
1.2k
Make your Android app into Multiplatform app
kubode
0
140
ウォンテッドリーにおけるモバイルアプリ開発 / iOSDC Japan 2024 Sponsor Session
kubode
1
1k
Jetpack ComposeのBottomSheetとの戦い / Fight with BottomSheet of Jetpack Compose
kubode
0
740
Mobile Chapterが目指すところと技術 / Vision and Technology of Mobile Chapter at Wantedly
kubode
0
350
Other Decks in Programming
See All in Programming
AIにコードを生成するコードを作らせて、再現性を担保しよう! / Let AI generate code to ensure reproducibility
yamachu
7
5.8k
鯛変だったRubyKaigi 2025 ── それでも楽しかった!
pndcat
0
130
ユーザーにサブドメインの ECサイトを提供したい (あるいは) 2026年函館で一番熱くなるかもしれない言語の話
uvb_76
0
160
Perlで痩せる
yuukis
0
270
Digging into the Matrix: Practicing Code Archaeology
arthurdoler
PRO
0
200
當開發遇上包裝:AI 如何讓產品從想法變成商品
clonn
0
290
私のRubyKaigi 2025 Kaigi Effect / My RubyKaigi 2025 Kaigi Effect
chobishiba
1
200
少数精鋭エンジニアがフルスタック力を磨く理由 -そしてAI時代へ-
rebase_engineering
0
110
❄️ tmux-nixの実装を通して学ぶNixOSモジュール
momeemt
1
110
ソフトウェア品質特性、意識してますか?AIの真の力を引き出す活用事例 / ai-and-software-quality
minodriven
19
6.4k
技術的負債と戦略的に戦わざるを得ない場合のオブザーバビリティ活用術 / Leveraging Observability When Strategically Dealing with Technical Debt
yoshiyoshifujii
0
160
AIコーディングの本質は“コード“ではなく“構造“だった / The essence of AI coding is not “code” but "structure
seike460
PRO
2
700
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
830
Unsuck your backbone
ammeep
671
58k
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.7k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
BBQ
matthewcrist
88
9.6k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Designing Experiences People Love
moore
142
24k
Building Adaptive Systems
keathley
41
2.6k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
450
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Statistics for Hackers
jakevdp
799
220k
Transcript
©2023 Wantedly, Inc. KMMͷCI/CD KMM։ൃʹ͔ܽͤͳ͍CI/CDͷߏஙํ๏ Android Test Night #8 2023/03/10
ٱอग़խढ़
©2023 Wantedly, Inc. XXXXBOUFEMZDPNJELVCPEF
©2023 Wantedly, Inc. w ,..ͷ$*$%ͷඞཁੑ w $%ߏஙύλʔϯ w 8BOUFEMZͰͷ࣮ྫ ΞδΣϯμ
©2023 Wantedly, Inc. ,..ͷ$*$%ͷඞཁੑ
©2023 Wantedly, Inc. ,..ͱ https://kotlinlang.org/lp/mobile/
©2023 Wantedly, Inc. ,..ͷσϦόϦʔϫʔΫϑϩʔ
©2023 Wantedly, Inc. $*ͷඞཁੑ 🐞 🐞 🐞 ✅ ✅ ✅
खΓΛݮΒͯ͠KMMΛ҆શ͔ͭ༰қʹมߋ͢ΔͨΊʹඞཁʂ
©2023 Wantedly, Inc. $%ͷඞཁੑ σϦόϦʔΛૣΊΔʹʁ 👉 KMMͷσϦόϦʔΛૣΊΔ 👉 ͍ͱશମύϑΥʔϚϯεԼ
©2023 Wantedly, Inc. ,..ͷσϦόϦʔ
©2023 Wantedly, Inc. ,..ͷσϦόϦʔ
©2023 Wantedly, Inc. .POPSFQP
©2023 Wantedly, Inc. 1SPT • KMM୯ମͷCI/CDߏஙߟ͑ͳͯ͘ྑ͍ • ςϯϓϨ͕͋Δ $POT •
طଘΞϓϦʹద༻ͮ͠Β͍ • KMM&iOSˍAndroidಉ࣌ʹมߋΛՃ͑ͳ͚ΕͳΒͳ͍ͷͰཁٻϨϕϧ͕ߴ͍ .POPSFQP
©2023 Wantedly, Inc. (JUTVCNPEVMF
©2023 Wantedly, Inc. 1SPT • KMMͷมߋΛऔΓࠐΉλΠϛϯάiOS/AndroidͰܾΊΔ • طଘΞϓϦʹऔΓࠐΈ͍͢ $POT •
Git submoduleͷѻ͍͕͍͠ • iOS։ൃʹJDK͕ඞཁʹͳΔ (JUTVCNPEVMF
©2023 Wantedly, Inc. ύοέʔδϚωʔδϟʔ
©2023 Wantedly, Inc. 1SPT • KMMͷมߋΛऔΓࠐΉλΠϛϯάiOS/AndroidͰܾΊΔ • طଘΞϓϦʹऔΓࠐΈ͍͢ • iOS/AndroidଆͰಛผͳڥߏங͕ෆཁ
$POT • SwiftPM, CocoaPods, Mavenࣗମͷڥߏங͕͍͠ • KMMʹόʔδϣϯΛׂΓৼΒͳ͚ΕͳΒͳ͍ ύοέʔδϚωʔδϟʔ
©2023 Wantedly, Inc. $%ߏங ύοέʔδϚωʔδϟʔ
©2023 Wantedly, Inc. w J04ͷͨΊʹNBD04্ͰͷϏϧυ͕ඞਢ w ͍׳ΕͯΔJ04ͷαʔϏεʹͤΔͱΑ͍ $*$%αʔϏεͷબ
©2023 Wantedly, Inc. ύοέʔδϚωʔδϟʔΛͬͨߏஙํ๏ͷհ w "OESPJE.BWFO (SBEMFͰ w J04ߏஙύλʔϯͭΛհ $%
©2023 Wantedly, Inc. $%"OESPJE 1. όʔδϣϯΛܾΊͯpublish 2. Mavenʹshared.aar͕Ξοϓϩʔυ 3. Maven͔ΒόʔδϣϯΛࢦఆͯ͠μϯϩʔυ
4. Androidʹมߋ͕औΓࠐ·ΕΔ
©2023 Wantedly, Inc. $%"OESPJE՝ ΠςϨʔγϣϯͷ͕͔͔࣌ؒΔ՝
©2023 Wantedly, Inc. $%"OESPJEϩʔΧϧ։ൃ Composite Build settings.gradleʹincludeBuild() ϩʔΧϧͷKMMͷมߋ͕ଈө͞ΕΔ
©2023 Wantedly, Inc. ͭհ $%J04
©2023 Wantedly, Inc. $%J044XJGU1.PS$PDPB1PET 1. όʔδϣϯΛܾΊͯdeploy 2. ύοέʔδϚωʔδϟʔͷrepoʹΞοϓϩʔυ 3. όʔδϣϯΛࢦఆͯ͠μϯϩʔυ
4. iOSʹมߋ͕औΓࠐ·ΕΔ
©2023 Wantedly, Inc. $%J04(SBEMF 1. όʔδϣϯΛܾΊͯpublish 2. MavenʹklibܗࣜͰΞοϓϩʔυ 3. iOSϓϩδΣΫτͷGradleϞδϡʔϧґଘՃ
4. wrapperϞδϡʔϧ͕frameworkϏϧυ 5. frameworkΛऔΓࠐΉ 6. iOSʹมߋ͕औΓࠐ·ΕΔ
©2023 Wantedly, Inc. 1SPT • SPMCocoaPods private repoෆཁ • ޙड़͢ΔϩʔΧϧ։ൃ͕͍͢͠
$POT • iOSͷϏϧυதʹGradleϏϧυ͕ೖΓࠐΉ • JDK͕ඞཁ • Ϗϧυ͕͍࣌ؒ $%J04(SBEMF
©2023 Wantedly, Inc. $%J04(SBEMFϩʔΧϧ։ൃ Composite Build settings.gradleʹincludeBuild() ϩʔΧϧͷKMMͷมߋ͕ଈө͞ΕΔ
©2023 Wantedly, Inc. 8BOUFEMZͰͷ࣮ྫ
©2023 Wantedly, Inc. (JUTVCNPEVMF 8BOUFEMZͰͷ࣮ྫ .BWFO$PDPB1PET
©2023 Wantedly, Inc. 8BOUFEMZͰͷ࣮ྫ όʔδϣϯΛϏϧυ൪߸͔ΒࣗಈͰܾΊΔ 👉 όʔδϣϯΛߟ͑Δख͔ؒΒ։์ KMMͷϝΠϯϒϥϯνϚʔδͰ iOS/AndroidPRΛཱͯΔ 👉
ϘλϯΛԡͤऔΓࠐΊΔ ͦͯ͠վળ
©2023 Wantedly, Inc. ·ͱΊ
©2023 Wantedly, Inc. w ,..Ͱͷ$*$%ͷॏཁੑΛઆ໌ w ߏஙύλʔϯͱ࣮ྫΛհ w ࠓޙվળ͠ଓ͚͍ͨ ·ͱΊ
ϖʔδλΠτϧ ϖʔδαϒλΠτϧ ©2023 Wantedly, Inc. 5IBOLT