$30 off During Our Annual Pro Sale. View Details »

CI_でライブラリのバージョンの変化をレポートする.pdf

Hiroyuki Kusu
September 25, 2023

 CI_でライブラリのバージョンの変化をレポートする.pdf

DroidKaigi.onCompletion { 2023@Online } (https://yumemi.connpass.com/event/289949/ ) の資料

Hiroyuki Kusu

September 25, 2023
Tweet

More Decks by Hiroyuki Kusu

Other Decks in Technology

Transcript

  1. CI ͰϥΠϒϥϦͷόʔδϣϯ


    ͷมԽΛϨϙʔτ͢Δ
    2023.9.25 DroidKaigi.onCompletion { 2023@Online }


    Hiroyuki Kusu ( @hkusu_ )


    View Slide

  2. About me

    View Slide


  3. View Slide


  4. ࠓ೔͸ͳ͢͜ͱ

    View Slide


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

    View Slide


  6. ಉҰͷϥΠϒϥϦʹ͓͍ͯෳ਺όʔδϣϯͷڞଘ͸Ͱ͖ͳ͍ɻ


    ґଘؔ܎ͷதͰ࠷΋৽͍͠όʔδϣϯ͕ద༻͞ΕΔ

    View Slide


  7. ʢྫʣԿ͔ͷϥΠϒϥϦͷόʔδϣϯΛมߋͨ͠৔߹..
    มߋͨ͠ϥΠϒϥϦ͕ lifecycle-runtime ͷ v2.3.0


    ʹґଘ͢ΔΑ͏ʹͳͬͨͷͰͪ͜Β΋ v2.3.0 ͕࢖ΘΕΔ

    View Slide


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

    View Slide


  9. ϥΠϒϥϦͷόʔδϣϯ͕มΘΕ͹ɺґଘ͢ΔϥΠϒ


    ϥϦͷछྨ΍ͦͷόʔδϣϯ΋มΘͬͯ͘ΔՄೳੑ

    View Slide


  10. ಉҰͷϥΠϒϥϦ͸࠷৽


    όʔδϣϯ΁ἧ͑ΒΕΔ
    ͜Εͷ܁Γฦ͠

    View Slide


  11. • ͻͱͭͷϥΠϒϥϦͷόʔδϣϯͷมߋ͕ɺޒ݄Ӎతʹ೾ٴ


    • ࢥΘ͵ϥΠϒϥϦͷόʔδϣϯΞοϓ΍ڍಈͷมԽΛى͜͢Մೳੑ


    • Renovate ΍ Dependabot ͸ࣗ਎͕มߋͨ͠ϥΠϒϥϦͷ͜ͱ͔͠ڭ͑ͯ͘Εͳ͍


    • ϓϧϦΫ͕ͨͩཷ·͍ͬͯ͘..
    ೉͍͠఺

    View Slide


  12. Google ͷ΋ͷ΍ϝδϟʔͳϥΠϒϥϦ͸·ͩΑ͍ͱͯ͠ɺ3rd party ੡ͷ
    • ޿ࠂܥͷ SDK


    • ܭଌܥͷ SDK


    • Android ϞδϡʔϧܥͷϥΠϒϥϦ
    ͜ΕΒͷϥΠϒϥϦ͕ AppCompat ܥ΍ Kotlin ͷόʔδϣϯΛҾ্͖͛ͯ
    ͠·͏͜ͱଟʑ..

    View Slide


  13. ΍ͬͨํ͕Α͍͜ͱ → ґଘؔ܎ͷࠩ෼ͷ֬ೝ
    • ϓϧϦΫલޙͷ Gradle dependencies λεΫͷґଘؔ܎ͷπ
    ϦʔΛɺखݩͰൺֱ͢Δ


    • ࠩ෼Λݟ΍͘͢͢Δπʔϧ


    • Dependency Tree Diff


    • https://github.com/JakeWharton/dependency-tree-diff


    • dependency-diff-tldr


    • https://github.com/careem/dependency-diff-tldr

    View Slide


  14. 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

    View Slide


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

    View Slide


  16. ࠓޙͰ͖ΔͱΑͦ͞͏ͳ͜ͱ
    • ϥΠϒϥϦͷόʔδϣϯมߋ࣌ʹɺCI ͰΞϓϦͷىಈ֬ೝˍओ
    ཁͳը໘ભҠͷςετ΋࣮ߦ͢Δ


    • ґଘؔ܎Ҏ֎ͷ΋ͷʹ͍ͭͯ΋ϓϧϦΫલޙͰൺֱ


    • ΞϓϦͷαΠζ


    • permission


    • feature

    View Slide

  17. Thank you !


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

    View Slide