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
870
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
1.1k
Firebase Dynamic Linksの代替手段を自作する / Create your own Firebase Dynamic Links alternative
kubode
0
520
技術を根付かせる / How to make technology take root
kubode
1
380
WantedlyでのKotlin Multiplatformの導入と課題 / Kotlin Multiplatform Implementation and Challenges at Wantedly
kubode
0
470
Google Play Consoleデベロッパー アカウントの確認 / Verifying your Play Console developer account
kubode
1
1.3k
Make your Android app into Multiplatform app
kubode
0
170
ウォンテッドリーにおけるモバイルアプリ開発 / iOSDC Japan 2024 Sponsor Session
kubode
1
1.1k
Jetpack ComposeのBottomSheetとの戦い / Fight with BottomSheet of Jetpack Compose
kubode
0
870
Mobile Chapterが目指すところと技術 / Vision and Technology of Mobile Chapter at Wantedly
kubode
0
370
Other Decks in Programming
See All in Programming
速いWebフレームワークを作る
yusukebe
4
1.6k
CJK and Unicode From a PHP Committer
youkidearitai
PRO
0
100
機能追加とリーダー業務の類似性
rinchoku
0
350
Claude Codeで実装以外の開発フロー、どこまで自動化できるか?失敗と成功
ndadayo
4
1.8k
テストカバレッジ100%を10年続けて得られた学びと品質
mottyzzz
2
430
Oracle Database Technology Night 92 Database Connection control FAN-AC
oracle4engineer
PRO
1
360
Updates on MLS on Ruby (and maybe more)
sylph01
1
170
AIコーディングAgentとの向き合い方
eycjur
0
250
コンテキストエンジニアリング Cursor編
kinopeee
1
740
Processing Gem ベースの、2D レトロゲームエンジンの開発
tokujiros
2
120
rage against annotate_predecessor
junk0612
0
150
1から理解するWeb Push
dora1998
1
260
Featured
See All Featured
How to Ace a Technical Interview
jacobian
279
23k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
The Pragmatic Product Professional
lauravandoore
36
6.8k
GraphQLとの向き合い方2022年版
quramy
49
14k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Designing Experiences People Love
moore
142
24k
Side Projects
sachag
455
43k
Designing for Performance
lara
610
69k
Documentation Writing (for coders)
carmenintech
73
5k
For a Future-Friendly Web
brad_frost
179
9.9k
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