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

KTSで社内ライブラリを配信する / Distribute a company local library with KTS

KTSで社内ライブラリを配信する / Distribute a company local library with KTS

Masatoshi Kubode

December 18, 2018
Tweet

More Decks by Masatoshi Kubode

Other Decks in Technology

Transcript

  1. ©2018 Wantedly, Inc.
    ,54Ͱࣾ಺ϥΠϒϥϦΛ഑৴͢Δ
    QPUBUPUJQT
    ٱอग़խढ़
    2018/12/18 -

    View Slide

  2. ©2018 Wantedly, Inc.
    ٱอग़խढ़
    8BOUFEMZ
    ओʹ8BOUFEMZ7JTJUͷ"OESPJEΞϓϦΛ։ൃ͍ͯ͠·͢ɻ
    ࠷ۙJ04΋൒೥΄Ͳ΍ͬͯ·ͨ͠ɻ
    ,PUMJO
    1PLFNPO(P
    NFUP4USJOH

    5XJUUFS
    !TXJ[@BSE
    (JU)VC
    !LVCPEF

    View Slide

  3. ©2018 Wantedly, Inc.
    ͳΜͰࣾ಺഑৴͢Δͷ͔
    ࣮૷
    ഑৴ͷํ๏
    ࿩͢͜ͱ

    View Slide

  4. ©2018 Wantedly, Inc.
    8IZ
    ͳͥࣾ಺ϥΠϒϥϦ഑৴͢Δͷ͔

    View Slide

  5. ©2018 Wantedly, Inc.
    w σβΠϯγεςϜͷͨΊ
    w ""3ϥΠϒϥϦԽͯ͠NBWFOͰ഑৴
    w 7JTJUͱ1FPQMFͷ྆ΞϓϦͰར༻͢ΔͨΊ
    w ࣗࣾ.BUFSJBM$PNQPOFOUTͷΑ͏ͳ΋ͷ
    Why

    View Slide

  6. ©2018 Wantedly, Inc.
    σβΠϯγεςϜ

    View Slide

  7. ©2018 Wantedly, Inc.
    w σβΠϯͷݪଇɺίϯϙʔωϯτ܈
    w ৭ɺςΩετελΠϧɺΞΠίϯͳͲ
    w ϘλϯɺςΩετϑΟʔϧυͳͲͷίϯϙʔωϯτ
    w σβΠϯͱ࣮૷ͷίετ࡟ݮ
    σβΠϯγεςϜ

    View Slide

  8. ©2018 Wantedly, Inc.
    ࣮૷
    σβΠϯγεςϜͷ"OESPJE࣮૷

    View Slide

  9. ©2018 Wantedly, Inc.
    w σβΠϯγεςϜͷઃܭख๏ͷҰͭ
    Atomic Design
    ݪࢠ(atom) ෼ࢠ(molecule)
    ༗ػମ(organism)

    View Slide

  10. ©2018 Wantedly, Inc.
    Atomic Design Ϟδϡʔϧߏ੒

    View Slide

  11. ©2018 Wantedly, Inc.
    Ͳ͏഑৴͢Δ͔
    NBWFOͷߏ੒

    View Slide

  12. ©2018 Wantedly, Inc.
    w (SBEMF͸4ͷ63*Λαϙʔτ͍ͯ͠Δ
    w ೝূ͋Γ΋αϙʔτ
    w ͱ͍͏͜ͱͰ4ʹͨ͠
    mavenϦϙδτϦΛͲ͏͢Δ͔
    repositories {
    maven { url = uri("s3://foo-bar") }
    }

    View Slide

  13. ©2018 Wantedly, Inc.
    ഑৴ͷߏ੒

    View Slide

  14. ©2018 Wantedly, Inc.
    ഑৴͢Δ
    "OESPJEϞδϡʔϧͷNBWFOରԠ

    View Slide

  15. ©2018 Wantedly, Inc.
    w "OESPJE͸ͦͷ··Ͱ͸ΞοϓϩʔυͰ͖ͳ͍
    w QPNYNMͷઃఆΛେྔʹॻ͘ඞཁ͕͋Δ
    AndroidͰͷmaven

    View Slide

  16. ©2018 Wantedly, Inc.
    w QPNYNMͷ໘౗ࣄΛղܾͯ͘͠ΕΔ
    w ϚϧνϞδϡʔϧରԠ
    android-maven-gradle-plugin

    View Slide

  17. ©2018 Wantedly, Inc.
    build.gradle.kts
    // $projectRoot/build.gradle.kts
    allprojects {
    repositories {
    google()
    jcenter()
    }
    group = "com.wantedly.design"
    // artifactId = module name
    version = "0.0.1"
    }

    View Slide

  18. ϖʔδλΠτϧ ϖʔδαϒλΠτϧ
    ©2018 Wantedly, Inc.
    HSBEMFXVQMPBE"SDIJWFT

    View Slide

  19. ϖʔδλΠτϧ ϖʔδαϒλΠτϧ
    ©2018 Wantedly, Inc.

    ಈ࡞ͤͣ

    View Slide

  20. ©2018 Wantedly, Inc.
    w (SBEMFʹ͸NBWFO഑৴ϓϥάΠϯ͕ͭ͋Δ
    w ݹ͍ϏϧτΠϯ
    w ৽͍͠NBWFOQVCMJTIϓϥάΠϯ
    w BOESPJENBWFOHSBEMFQMVHJO͸ݹ͍ํΛ࢖͏
    w ݹ͍ํ͸4΁ͷ഑৴͕αϙʔτ͞Ε͍ͯͳ͍
    ͳΜͰʁ

    View Slide

  21. ϖʔδλΠτϧ ϖʔδαϒλΠτϧ
    ©2018 Wantedly, Inc.
    ৽͍͠ํʹରԠͨ͠
    ϓϥάΠϯ͸ͳ͍͔ʁ

    View Slide

  22. ©2018 Wantedly, Inc.
    w NBWFOQVCMJTI༻ͷ"OESPJE޲͚ϓϥάΠϯ
    w QPNYNMͷ໘౗ࣄΛ͢΂ͯղܾͯ͘͠ΕΔ
    w ϚϧνϞδϡʔϧରԠ
    android-maven-publish

    View Slide

  23. ©2018 Wantedly, Inc.
    maven.gradle.kts
    apply(plugin = "digital.wup.android-maven-publish")
    configure {
    publications {
    register("mavenAar", MavenPublication::class) {
    from(components["android"])
    }
    }
    repositories {
    maven {
    url = uri("s3://foo-bar")
    credentials(AwsCredentials::class) {
    setAccessKey(wtdMavenAccessKey)
    setSecretKey(wtdMavenSecretKey)
    }
    }
    }
    }

    View Slide

  24. ϖʔδλΠτϧ ϖʔδαϒλΠτϧ
    ©2018 Wantedly, Inc.
    HSBEMFXQVCMJTI

    View Slide

  25. ϖʔδλΠτϧ ϖʔδαϒλΠτϧ
    ©2018 Wantedly, Inc.

    View Slide

  26. ©2018 Wantedly, Inc.
    w ,54͸໰୊ͳ͘࢖͑Δ
    w DPOpHVSFϒϩοΫͱ͔஌Βͳ͍ͱϋϚΔ
    w ϥΠϒϥϦ഑৴͸ҙ֎ͱ؆୯ʹͰ͖ͨ
    w BOESPJENBWFOQVCMJTI͕͓͢͢Ί
    ·ͱΊ

    View Slide

  27. ©2018 Wantedly, Inc.
    BOESPJENBWFOHSBEMFQMVHJO
    IUUQTHJUIVCDPNEDFOEFOUTBOESPJENBWFOHSBEMFQMVHJO
    BOESPJENBWFOQVCMJTI
    IUUQTHJUIVCDPNXVQEJHJUBMBOESPJENBWFOQVCMJTI
    ϦϯΫ

    View Slide