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
950
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
3リポジトリーを2ヶ月でモノレポ化した話 / How I turned 3 repositories into a monorepo in 2 months
kubode
0
220
ウォンテッドリーの「ココロオドル」モバイル開発 / Wantedly's "kokoro odoru" mobile development
kubode
2
1.3k
Firebase Dynamic Linksの代替手段を自作する / Create your own Firebase Dynamic Links alternative
kubode
0
720
技術を根付かせる / How to make technology take root
kubode
1
500
WantedlyでのKotlin Multiplatformの導入と課題 / Kotlin Multiplatform Implementation and Challenges at Wantedly
kubode
0
640
Google Play Consoleデベロッパー アカウントの確認 / Verifying your Play Console developer account
kubode
1
1.4k
Make your Android app into Multiplatform app
kubode
0
230
ウォンテッドリーにおけるモバイルアプリ開発 / iOSDC Japan 2024 Sponsor Session
kubode
1
1.5k
Jetpack ComposeのBottomSheetとの戦い / Fight with BottomSheet of Jetpack Compose
kubode
0
1.1k
Other Decks in Programming
See All in Programming
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
270
AutonomyとControlのあいだ:Graflowで記述するAIエージェント協調
myui
0
120
Modding RubyKaigi for Myself
yui_knk
0
910
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
320
Spec Driven Development | AI Summit Lisbon
danielsogl
PRO
0
180
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
670
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
330
The NotImplementedError Problem in Ruby
koic
1
700
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
320
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
1.9k
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
350
Oxlintのカスタムルールの現況
syumai
6
1.1k
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1370
210k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Claude Code のすすめ
schroneko
67
230k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.4k
Optimising Largest Contentful Paint
csswizardry
37
3.7k
GitHub's CSS Performance
jonrohan
1033
470k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
170
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
190
The Art of Programming - Codeland 2020
erikaheidi
57
14k
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