Slide 1

Slide 1 text

CI ͰϥΠϒϥϦͷόʔδϣϯ ͷมԽΛϨϙʔτ͢Δ 2023.9.25 DroidKaigi.onCompletion { 2023@Online } Hiroyuki Kusu ( @hkusu_ )

Slide 2

Slide 2 text

About me

Slide 3

Slide 3 text

Slide 4

Slide 4 text

ࠓ೔͸ͳ͢͜ͱ

Slide 5

Slide 5 text

ϥΠϒϥϦͷґଘؔ܎ͷ֬ೝʢGradle dependencies λεΫʣ

Slide 6

Slide 6 text

ಉҰͷϥΠϒϥϦʹ͓͍ͯෳ਺όʔδϣϯͷڞଘ͸Ͱ͖ͳ͍ɻ ґଘؔ܎ͷதͰ࠷΋৽͍͠όʔδϣϯ͕ద༻͞ΕΔ

Slide 7

Slide 7 text

ʢྫʣԿ͔ͷϥΠϒϥϦͷόʔδϣϯΛมߋͨ͠৔߹.. มߋͨ͠ϥΠϒϥϦ͕ lifecycle-runtime ͷ v2.3.0 ʹґଘ͢ΔΑ͏ʹͳͬͨͷͰͪ͜Β΋ v2.3.0 ͕࢖ΘΕΔ

Slide 8

Slide 8 text

ڍಈ͕มΘͬͯ͠·͏Մೳੑ..

Slide 9

Slide 9 text

ϥΠϒϥϦͷόʔδϣϯ͕มΘΕ͹ɺґଘ͢ΔϥΠϒ ϥϦͷछྨ΍ͦͷόʔδϣϯ΋มΘͬͯ͘ΔՄೳੑ

Slide 10

Slide 10 text

ಉҰͷϥΠϒϥϦ͸࠷৽ όʔδϣϯ΁ἧ͑ΒΕΔ ͜Εͷ܁Γฦ͠

Slide 11

Slide 11 text

• ͻͱͭͷϥΠϒϥϦͷόʔδϣϯͷมߋ͕ɺޒ݄Ӎతʹ೾ٴ • ࢥΘ͵ϥΠϒϥϦͷόʔδϣϯΞοϓ΍ڍಈͷมԽΛى͜͢Մೳੑ • Renovate ΍ Dependabot ͸ࣗ਎͕มߋͨ͠ϥΠϒϥϦͷ͜ͱ͔͠ڭ͑ͯ͘Εͳ͍ • ϓϧϦΫ͕ͨͩཷ·͍ͬͯ͘.. ೉͍͠఺

Slide 12

Slide 12 text

Google ͷ΋ͷ΍ϝδϟʔͳϥΠϒϥϦ͸·ͩΑ͍ͱͯ͠ɺ3rd party ੡ͷ • ޿ࠂܥͷ SDK • ܭଌܥͷ SDK • Android ϞδϡʔϧܥͷϥΠϒϥϦ ͜ΕΒͷϥΠϒϥϦ͕ AppCompat ܥ΍ Kotlin ͷόʔδϣϯΛҾ্͖͛ͯ ͠·͏͜ͱଟʑ..

Slide 13

Slide 13 text

΍ͬͨํ͕Α͍͜ͱ → ґଘؔ܎ͷࠩ෼ͷ֬ೝ • ϓϧϦΫલޙͷ Gradle dependencies λεΫͷґଘؔ܎ͷπ ϦʔΛɺखݩͰൺֱ͢Δ • ࠩ෼Λݟ΍͘͢͢Δπʔϧ • Dependency Tree Diff • https://github.com/JakeWharton/dependency-tree-diff • dependency-diff-tldr • https://github.com/careem/dependency-diff-tldr

Slide 14

Slide 14 text

CI ͰࣗಈԽʢGitHub Actionsʣ • DroidKaigi 2023 ΞϓϦͷࢀߟίʔυ • https://github.com/DroidKaigi/conference-app-2023/blob/main/scripts/ dependency_diff.sh • Dependency Tree Diff • https://github.com/usefulness/dependency-tree-diff-action • Gradle Dependency Diff Report • https://github.com/yumemi-inc/gradle-dependency-diff-report

Slide 15

Slide 15 text

Gradle Dependency Diff Reportʢ੿࡞ʣ https://github.com/yumemi-inc/gradle-dependency-diff-report

Slide 16

Slide 16 text

ࠓޙͰ͖ΔͱΑͦ͞͏ͳ͜ͱ • ϥΠϒϥϦͷόʔδϣϯมߋ࣌ʹɺCI ͰΞϓϦͷىಈ֬ೝˍओ ཁͳը໘ભҠͷςετ΋࣮ߦ͢Δ • ґଘؔ܎Ҏ֎ͷ΋ͷʹ͍ͭͯ΋ϓϧϦΫલޙͰൺֱ • ΞϓϦͷαΠζ • permission • feature

Slide 17

Slide 17 text

Thank you ! @hkusu_ ฐࣾ͸ Android ΤϯδχΞΛ ઈࢍืूத Ͱ͢ʂ