Firebase App Distribution with Bitrise #FJUG #FirebaseSummit #BetterTogether/Firebase App Distribution with Bitrise

249b3122eee454c0a818bfe7851418e4?s=47 fromkk
October 24, 2019

Firebase App Distribution with Bitrise #FJUG #FirebaseSummit #BetterTogether/Firebase App Distribution with Bitrise

2019/10/24開催のFirebase Summit 2019 報告会( https://firebase-community.connpass.com/event/150011/ )にて発表した資料です。
Firebase Summit 2019で発表されたFirebase App Distributionについて概要を説明しました。
ウェブのコンソールからのアップロード、CLIからのアップロード、Bitrise(CI)からのアップロードを試しました。

249b3122eee454c0a818bfe7851418e4?s=128

fromkk

October 24, 2019
Tweet

Transcript

  1. 'JSFCBTF"QQ%JTUSJCVUJPOXJUI#JUSJTF !GSPNLL5JNFST*OD

  2. 1SPpMF struct Profile { let name = "Kazuya Ueoka" let

    twitter = "@fromkk" let github = "fromkk" let qiita = "fromkk" let company = "Timers Inc." } •
  3. ࡶཱྀߦه 4QBJO w εϖΠϯϚυϦʔυʹग़ൃࡶཱྀߦ هpSFCBTFTVNNJU w εϖΠϯೋ೔໨ࡶཱྀߦه w εϖΠϯ೔໨ࡶཱྀߦه w

    'JSFCBTF4VNNJUʹࢀՃ͖ͯ͠·ͨ͠ 'JSFCBTF4VNNJU#FUUFS5PHFUIFSࡶཱྀߦه w εϖΠϯ೔໨ τϨυಆڇ ࡶཱྀߦه w ஄ؙόϧηϩφ೔ؼΓཱྀߦࡶཱྀߦه
  4. εϖΠϯ w ே൩ྋ͘͠னؒ͸ॵ͔ͬͨ Χϥοͱ͍ͯͯ͠ա͝͠΍͍͢  w αϚʔλΠϜͰே͸໌Δ͘ͳΔͷ͕஗͘ɺ༦ํ͸஗͘·Ͱ໌Δ͍ w ৯ࣄ͸ඒຯ͍͠ w

    ΄ͱΜͲͷ৔߹ӳޠͰͳΜͱ͔ͳΔ w كʹεϖΠϯޠͰԡ͠੾ΒΕΔࣄ΋ w ӳ୯ޠ͕௨͡ͳ͍͜ͱ΋ w ৽ͨʹ֮͑ͨ୯ޠ4BMJEBT w ೔ຊͱͷڞ௨఺ ৴߸Թ౓දه 4
  5. None
  6. IUUQTZPVUVCFD+-@&1L*"

  7. ൃද͞Εͨ৽ػೳ w 'JSFCBTF"QQ%JTUSJCVUJPO J04"OESPJE  w 8FC4VQQPSU w (PPHMF"OBMZUJDT$MPVE.FTTBHJOH3FNPUF$POpH w

    *EFOUJUZ"DDFTT.BOBHFNFOU w 'JSFCBTF&YUFOTJPOT 7
  8. ൃද͞Εͨ৽ػೳ w 'JSFCBTF"QQ%JTUSJCVUJPO J04"OESPJE  w 8FC4VQQPSU w (PPHMF"OBMZUJDT$MPVE.FTTBHJOH3FNPUF$POpH w

    *EFOUJUZ"DDFTT.BOBHFNFOU w 'JSFCBTF&YUFOTJPOT 8
  9. 4FTTJPOT IUUQTXXXZPVUVCFDPNXBUDI W(;0*&)9* 4IJQBQQTXJUIFBTF IUUQTXXXZPVUVCFDPNXBUDI WX01OWZFP 0QFOJOH,FZOPUF

  10. 'JSFCBTF"QQ%JTUSJCVUJPOͱ͸ w 'JSFCBTFܦ༝Ͱࣾ಺֎ͷਓʹΞϓϦέʔγϣϯΛ഑෍ग़དྷΔ࢓ ૊Έ ݱࡏύϒϦοΫϕʔλ  w J04"OESPJEରԠ w 8FCը໘$-*͔ΒͷΞοϓϩʔυʹରԠ

    w ഑෍͢Δਓ΍άϧʔϓΛࢦఆՄೳ 10
  11. ςελʔͱάϧʔϓ w ςετΞϓϦΛ഑৴͢ΔਓΛొ࿥͠άϧʔϐϯά͕Մೳ w ΞϓϦͷϑΣʔζʹΑͬͯάϧʔϓΛग़͠Θ͚Λͨ͠Γɺಛ ఆͷόʔδϣϯ͚ͩಛఆͷਓʹૹΔͳͲ w $47ʹΑΔΠϯϙʔτ΍ΤΫεϙʔτ΋Մೳ 11

  12. ট଴ϦϯΫ w ϦϯΫΛ࡞੒͢ΔࣄͰΞϓϦΛΠϯετʔϧ͍ͨ͠ਓ Λট଴ͯ͠ςελʔ΍άϧʔϓʹ௥Ճ͢Δࣄ͕ग़དྷΔ w ొ࿥͢ΔάϧʔϓΛࢦఆ ೚ҙ  w ϝʔϧΞυϨεͷυϝΠϯΛࢦఆ͢ΔࣄͰࣾ಺ͷਓʹ

    ੍ݶ͢Δ͜ͱ΋Մೳ ೚ҙ  w ଞࣾͷਓ΋ಉ༷ w J04ͷ৔߹ɺඇ&OUFSQSJTFͰ͸%FWFMPQFS1PSUBMʹ୺ ຤*%Λొ࿥ͯ͠1SPWJTJPOJOH'JMFΛੜ੒ͯ͠9DPEFͰ ࢦఆ͓ͯ͘͠ඞཁ͸͋Δ 12
  13. ରԠ͍ͯ͠Δ$-*πʔϧ

  14. Ұ൪γϯϓϧͳσϞ ಈը

  15. %&.0 IUUQTZPVUVCF7C,J*+V(ZHH

  16. σόΠεະొ࿥ͷ৔߹

  17. ิ଍ w ෳ਺ΞΧ΢ϯτΛར༻͍ͯ͠Δ৔߹͸ΞΠί ϯΛΫϦοΫ͢Ε͹੾Γସ͑Մೳ 17

  18. $-*ͰͷΞοϓϩʔυ

  19. ࣄલ४උ ΞϓϦ*%ΛϝϞ

  20. ࣄલ४උ pSFCBTFUPPMTͷΠϯετʔϧ npm i -g firebase-tools ˞ະΠϯετʔϧͷ৔߹΍ݹ͍όʔδϣϯͷ$-*πʔϧΛར༻͍ͯ͠Δ৔߹

  21. 'JSFCBTF5PPMTΛར༻͢Δ৔߹ firebase login ϩάΠϯΛ͓ͯ͘͠ firebase appdistribution:distribute /path/to/Type/Type.ipa --app 1:22hoobarhoobarcd2 --release-notes

    "ςετ഑৴" --groups "։ൃऀ" i getting app details... i uploading distribution... ✔ uploaded distribution successfully i adding release notes... ✔ added release notes successfully i adding testers/groups... ✔ added testers/groups successfully ΞϓϦΛ഑෍͢Δ
  22. υΩϡϝϯτ firebase appdistribution:distribute --help Usage: appdistribution:distribute [options] <distribution-file> upload a

    distribution Options: --app <app_id> the app id of your Firebase app --release-notes <string> release notes to include with this distribution --release-notes-file <file> path to file with release notes to include with this distribution --testers <string> a comma separated list of tester emails to distribute to --testers-file <file> path to file with a comma separated list of tester emails to distribute to --groups <string> a comma separated list of group aliases to distribute to --groups-file <file> path to file with a comma separated list of group aliases to distribute to -h, --help output usage information
  23. GBTUMBOFΛར༻͢Δ৔߹

  24. BQQ@EJTUSJCVUJPOϓϥάΠϯͷΠϯετʔϧ fastlane add_plugin firebase_app_distribution ˞࣌఺Ͱ$BUBMJOBʹΠϯετʔϧग़དྷͳ͍ෆ۩߹Λ؍ଌ IUUQTHJUIVCDPNGBTUMBOFGBTUMBOFJTTVFT IUUQTHJUIVCDPNGBTUMBOFGBTUMBOFQVMM

  25. 'BTUpMFʹ௥ه lane :deploy do |options| commit_message = `git log --format=%B

    -n 1 HEAD`.strip ipa_path = options[:ipa_path] app_id = options[:app_id] || “1:228 ~ϝϞͨ͠ΞϓϦID~ cd2" groups = options[:groups] || "։ൃऀ" firebase_cli_path = options[:firebase_cli_path] || "/usr/ local/lib/node_modules/firebase-tools/lib/bin/firebase.js" firebase_app_distribution( app: app_id, groups: groups, release_notes: commit_message, ipa_path: ipa_path, firebase_cli_path: firebase_cli_path ) end IUUQTpSFCBTFHPPHMFDPNEPDTBQQEJTUSJCVUJPOJPTEJTUSJCVUFGBTUMBOF
  26. GBTUMBOF %FNP

  27. #JUSJTF͔ΒΞοϓϩʔυ

  28. ࣄલ४උ '*3&#"4&@50,&/ 'JSFCBTFʹϩάΠϯ '*3&#"4&@50,&/ΛϝϞ firebase login:ci 4FDSFUTʹ'*3&#"4&@50,&/ɺ'*3&#"4&@"11@*%Λ௥Ճ

  29. <#&5">'JSFCBTF"QQ%JTUSJCVUJPOεςοϓͷ௥Ճ

  30. εςοϓͷઃఆ w 'JSFCBTF5PLFOɺ"QQ1BUIɺ 'JSFCBTF"QQ*%͕ඞਢ߲໨ w 3FMFBTF/PUFTɺςελʔɺάϧʔ ϓ͸೚ҙ߲໨ w ίϚϯυΦϓγϣϯͷઃఆ΋Մೳ

  31. #JUSJTFͰͷ࣮ߦϩά

  32. ·ͱΊ w εϖΠϯຊ౰ʹྑ͔ͬͨʢ࠷ۙΧλϧʔχϟ஍ํͰσϞ͕ى͖͍ͯ ΔͷͰߦ͘ͳΒฏ࿨ͳ࣌ظʹʣ w ൟ՚֗ʹ͸࠮ٗάϧʔϓ͕͍ΔͷͰؾΛ͚ͭ·͠ΐ͏ w "QQ%JTUSJCVUJPO͸طʹ'JSFCBTFΛར༻͍ͯ͠ΔͳΒखܰʹར༻Ͱ͖Δ w $-*ͷૢ࡞΍$*͔Βͷ࣮ߦ΋؆୯

    w ·ͩύϒϦοΫϕʔλͳͷͰࠓޙ΋มߋͳͲ͋Γͦ͏ 32
  33. 13

  34. • αʔόʔαΠυΤϯδχΞ (PHP, Golang, AWS) • AndroidΤϯδχΞ (Kotlin) • iOSΤϯδχΞ

    (Swift) TimersͰ͸ݱࡏΤϯδχΞશ৬छ࠾༻தʂ ৄ͘͠͸”Timers”Ͱݕࡧ
  35. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠