Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Androidアプリのリリースしてますか #potatotips

9278c3a06b8d8752fb913dea93f959c1?s=47 FUJI Goro
August 20, 2014

Androidアプリのリリースしてますか #potatotips

2014/8/20 potatotips 8 at Retty

9278c3a06b8d8752fb913dea93f959c1?s=128

FUJI Goro

August 20, 2014
Tweet

Transcript

  1. AndroidΞϓϦ ϦϦʔεͯ͠·͔͢ Fuji, Goro (gfx) at Cookpad Inc. potatotips #8

    2014/8/20 in Retty ‣ YES ‣ ͸͍
  2. None
  3. ࣗݾ঺հ • ΫοΫύουͰϞόΠϧΤϯδχΞ΍ͬͯ·͢ • Android/iOSΞϓϦ։ൃͷੜ࢈ੑ㽉㽉Λ୲౰ • ࠷ۙͷ໺๬ • Maven Centralͱܾผ͢ΔͨΊͷweb

    serviceΛͭ͘Δʂ
  4. ΞϓϦͷϦϦʔεͯ͠·͔͢ • ϦϦʔεΤϯδχΞϦϯά(releng)ͷλεΫ͸ෳࡶ • όʔδϣϯΛઃఆͯ͠ςετͯ͠Ϗϧυͯ͠apkʹ ॺ໊ͯ͠λάΛ͏ͬͯdeploygateʹ഑৴ͯ͠ google playʹΞοϓϩʔυͯ͠ߋ৽৘ใΛΞοϓ σʔτͯ͠ެ։ઃఆͯؔ͠܎ऀʹΞφ΢ϯεͯ͠ ެ։͞ΕͨΒGA΍CrashlyticsΛோΊͯ͢΂ͯ໰୊

    ͳͦ͞͏Ͱ͋Ε͹Ұଉͭ͘
  5. ՝୊ɿrelengͷखॱ͕ෳࡶ͗͢Δ

  6. λεΫΛ෼ղͯ͠ΈΔ • όʔδϣϯΛద੾ͳ΋ͷʹઃఆ͢Δ • ࣗಈςετɾlintΛ࣮ߦ͢Δ • ΫϦʔϯϏϧυ͢Δ • ϦϦʔε༻ͷॺ໊ͷઃఆΛ͢ΔʢॳΊͯϦϦʔε͢Δͱ͖ͷΈʣ •

    deploygate/testflightʹ഑৴͢Δ • Google PlayͰΞϓϦέʔγϣϯͷઃఆΛߦ͏ʢॳΊͯϦϦʔε͢Δͱ͖ͷΈʣ • Google Playʹupload͢Δ • Google Playͷߋ৽৘ใΛΞοϓσʔτ͢Δ • Google PlayͰެ։ͷઃఆΛ͢Δ • ࣾ಺ʹΞφ΢ϯε͢Δ • ϦϦʔεޙʹΫϥογϡ౳Λ؂ࢹ͢Δ
  7. relengλεΫଟ͗͢Δ݅ • λεΫ͕ଟ͍ͱԿ͔͕ൈ͚͕ͪʹͳΔ • ྫɿʮ͋ɺversion codeͷߋ৽Λ๨Εͨͷ ͰϏϧυ͠ͳ͓͠·͢ʯ • Կ౓͔ܦݧ͠ͳ͍ͱ΋͸΍ਖ਼͍͠खॱΛ౿Ή ͷ͕ෆՄೳ

  8. ॺ໊ͷ໰୊ • ॺ໊ͷઃఆΛbuild.gradleʹॻ͘ͷ͕μϧ͍ • keystoreϑΝΠϧΛ͹Β·͖ͨ͘ͳ͍͔Β JenkinsͰϦϦʔε༻apkΛ࡞ΔΑ͏ʹͯ͠ ͍Δ • ͦΕ΋͋ͬͯ͸͡ΊͯϦϦʔε͢Δͱ͖ʹ߹ ܭ10ߦ΄Ͳίϐϖ͠ͳ͍ͱ͍͚ͳ͍

  9. Google Play΁ͷΞοϓϩʔυ • JenkinsͷϏϧυ݁Ռ͔ΒapkϑΝΠϧΛऔಘ • औಘͨ͠apkϑΝΠϧΛplayʹΞοϓϩʔυ • ख࡞ۀͳͷͰΘΓͱ໘౗͍͘͞

  10. औΓ૊Έ

  11. ࣗಈԽ • όʔδϣχϯάͷ໰୊ -> Jenkinsͷ BUILD_NUMBERΛ͔ͭ͏ • ॺ໊ͷ໰୊ -> app-unsigned.apkʹ͋ͱ͔Βsign

    ͢Δ • Ξοϓϩʔυͷ໰୊ -> Google Play Developer APIΛ࢖͏
  12. όʔδϣχϯάͷ໰୊ • major.minor.patch.build ͷ4ύʔπ • ݱࡏͷAndroidΞϓϦ͸4.0.0.1 • build෦෼ΛJenkinsʹࣗಈͰৼΒͤΔ

  13. ॺ໊ͷ໰୊ • build.gradleʹॺ໊ઃఆ༻ίʔυΛίϐϖ͢Δͷ͕໰୊ͩͬͨ • ॺ໊ઃఆͤͣʹϏϧυͯ͋͠ͱͰॺ໊͢Ε͹ղܾͰ͖Δ͸ͣ • $ jarsigner -verbose -sigalg

    SHA1withRSA -digestalg SHA1 - keystore ~/.android/debug.keystore -storepass android ./ app/build/outputs/apk/app-product-release-unsigned.apk androiddebugkey • http://developer.android.com/tools/publishing/app-signing.html
  14. Ξοϓϩʔυͷ໰୊ • Google Play Developer APIΛ࢖͏ • apkͷΞοϓϩʔυ • ެ։ઃఆʢalpha

    / beta / rollout / productionʣ • εΫϦʔϯγϣοτ΍આ໌จͳͲͷઃఆ • εΫγϣ΍આ໌จΛϦϙδτϦʹೖΕͯ؅ཧͰ͖Δͧʂ • ͍͔ͭ͘gradle plugin͕։ൃ͞Ε͍ͯΔʢະݕূʣ
  15. ࣗಈԽͷঢ়گʢ✓ʣ • ✓ όʔδϣϯΛద੾ͳ΋ͷʹઃఆ͢ΔʢJenkinsʣ • ✓ ࣗಈςετɾlintΛ࣮ߦ͢ΔʢJenkinsʣ • ✓ ΫϦʔϯϏϧυ͢ΔʢJenkinsʣ

    • ✓ ϦϦʔε༻ͷॺ໊ͷઃఆΛ͢Δʢbuild.gradleΛฤू͠ͳͯ͘Α͍ʣ • ✓ deploygate/testflightʹ഑৴͢ΔʢJenkinsʣ • Google PlayͰΞϓϦέʔγϣϯͷઃఆΛߦ͏ʢॳΊͯϦϦʔε͢Δͱ͖ͷΈʣ • ✓ Google Playʹupload͢ΔʢGoogle Play Developer APIʣ • Google Playͷߋ৽৘ใΛΞοϓσʔτ͢Δ • Google PlayͰެ։ͷઃఆΛ͢Δ • ࣾ಺ʹΞφ΢ϯε͢Δ • ϦϦʔεޙʹΫϥογϡ౳Λ؂ࢹ͢Δ
  16. To be continued… • relengࣗಈԽͷ੒Ռ͸ github.com/cookpad Ͱެ։͢Δ༧ఆͰ͢ • ଞͷࣗಈԽͰ͖ͯͳ͍ͱ͜Ζ΋ͲΜͲΜࣗಈ Խ͍͖͍ͯͨ͠

  17. We are hiring @ Cookpad Inc. • iOS & Android

    ΤϯδχΞืूத • https://info.cookpad.com/jobs/position/ios- android-app-engineer