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
970
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
KMMのCI/CD
https://testnight.connpass.com/event/274733/
Masatoshi Kubode
March 10, 2023
More Decks by Masatoshi Kubode
See All by Masatoshi Kubode
AIチャットの改善から見えた、良いAI体験とは / What Constitutes a Good AI Experience: Insights from Improving AI Chat
kubode
0
170
3リポジトリーを2ヶ月でモノレポ化した話 / How I turned 3 repositories into a monorepo in 2 months
kubode
0
260
ウォンテッドリーの「ココロオドル」モバイル開発 / Wantedly's "kokoro odoru" mobile development
kubode
2
1.4k
Firebase Dynamic Linksの代替手段を自作する / Create your own Firebase Dynamic Links alternative
kubode
0
740
技術を根付かせる / How to make technology take root
kubode
1
510
WantedlyでのKotlin Multiplatformの導入と課題 / Kotlin Multiplatform Implementation and Challenges at Wantedly
kubode
0
660
Google Play Consoleデベロッパー アカウントの確認 / Verifying your Play Console developer account
kubode
1
1.4k
Make your Android app into Multiplatform app
kubode
0
250
ウォンテッドリーにおけるモバイルアプリ開発 / iOSDC Japan 2024 Sponsor Session
kubode
1
1.5k
Other Decks in Programming
See All in Programming
Hono + Inertia + React で LP を構築した話
oukayuka
2
130
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
240
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
710
「つくるAI」だけではバグは見つからない ~テストに必要な「見つけるAI」を分離させる戦略~
mfunaki
0
140
ソフトウェアラスタライザ
fadis
1
380
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
510
源内ハンズオン概要編
hideg
0
210
VibeCodingからAgenticWorkflowへ
starfish719
0
750
片田舎のおっさん、 Swift Buildのダイアモンド問題解決の不具合修正PRを出すが、解決方法がキャッシュをしないようにすることであり、ビルド時間が伸びると言われてマージされないので高速化もする/swiftbuild
yimajo
0
240
Discordを用いたラボオートメーション関連情報収集の自動化
noguhiro2002
0
340
Oxlintはいいぞ(続)
yug1224
1
360
Cloudflare is Agents
chimame
0
180
Featured
See All Featured
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
500
Automating Front-end Workflow
addyosmani
1369
210k
Producing Creativity
orderedlist
PRO
348
40k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.5k
エンジニアに許された特別な時間の終わり
watany
108
250k
We Have a Design System, Now What?
morganepeng
55
8.3k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
580
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
350
The Invisible Side of Design
smashingmag
301
52k
Building the Perfect Custom Keyboard
takai
2
850
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