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

note iOSチームの自動化 ver.2021/automation_with_iOS_team_on_note_ver2021

249b3122eee454c0a818bfe7851418e4?s=47 fromkk
December 17, 2021

note iOSチームの自動化 ver.2021/automation_with_iOS_team_on_note_ver2021

【オンライン開催】YUMEMI.swift #14 〜今年の振り返り〜で発表してきた資料です。
note の iOS チームで進めている自動化のアップデートについてお話ししました。
主に2つの自動化の内容を紹介しています。
・バグ情報を手軽にリポジトリに溜めたい
・リリースノートを検討するPull Requestを手軽に作成したい

249b3122eee454c0a818bfe7851418e4?s=128

fromkk

December 17, 2021
Tweet

Transcript

  1. !GSPNLL OPUFJ04νʔϜͷࣗಈԽWFS :6.&.*TXJGU

  2. !GSPNLL OPUFJ04νʔϜͷࣗಈԽWFS :6.&.*TXJGU

  3. !GSPNLL OPUFJ04νʔϜͷࣗಈԽWFS :6.&.*ࣗಈԽ

  4. None
  5. ৼΓฦΓ

  6. None
  7. ͋Ε͔Β೥Ҏ্ܦաͨ͠ͷͰ ΞοϓσʔτΛ঺հ

  8. ໨࣍ w όά৘ใΛखܰʹϦϙδτϦʹཷΊ͍ͨ w ϦϦʔεϊʔτΛݕ౼͢Δ1VMM3FRVFTUΛखܰʹ࡞੒͍ͨ͠

  9. όά৘ใΛखܰʹϦϙδτϦʹཷΊ͍ͨ

  10. ΢ΣϒɾΞϓϦͱ΋ʹ඼࣭͕՝୊ʹ w 2"νʔϜ͕͓Βͣɺ։ൃऀɾσβΠφʔ΍1.ʹΑΔಈ࡞֬ೝɺϢχοτςε τ΍&&ςετͰ඼࣭ΛΧόʔ͍ͯ͠Δ w ΤϯδχΞͷਓ਺͕૿͑ͨΓαʔϏεͷن໛΋େ͖͘ͳ͖ͬͯͨͷͰ඼࣭ͷ ୲อ͕೉͘͠ͳ͖ͬͯͨ w ϦϦʔεޙͷόάमਖ਼ΛͳΔ΂͘ݮΒ͍ͨ͠

  11. ΢ΣϒɾΞϓϦͱ΋ʹ඼࣭͕՝୊ʹ w 2"νʔϜ͕͓Βͣɺ։ൃऀɾσβΠφʔ΍1.ʹΑΔಈ࡞֬ೝɺϢχοτςε τ΍&&ςετͰ඼࣭ΛΧόʔ͍ͯ͠Δ w ΤϯδχΞͷਓ਺͕૿͑ͨΓαʔϏεͷن໛΋େ͖͘ͳ͖ͬͯͨͷͰ඼࣭ͷ ୲อ͕೉͘͠ͳ͖ͬͯͨ w ϦϦʔεޙͷόάमਖ਼ΛͳΔ΂͘ݮΒ͍ͨ͠ w

    ͲΜͳෆ۩߹͕ଟ͍ͷ͔Λ·ͣ͸஌Γ͍ͨ
  12. όάͷछྨΛՄࢹԽ͍ͨ͠ w ϦϦʔεલʹݟ͚ͭͨόά w ϦϦʔεޙʹΤϯδχΞ͕ݟ͚ͭͨόά w ϦϦʔεޙʹ໰͍߹Θ͕ͤ͋ͬͯ$4͔Βใࠂ͕͋ͬͨόά

  13. όάͷछྨΛՄࢹԽ͍ͨ͠ w ϦϦʔεલʹݟ͚ͭͨόά w ϦϦʔεޙʹΤϯδχΞ͕ݟ͚ͭͨόά w ϦϦʔεޙʹ໰͍߹Θ͕ͤ͋ͬͯ$4͔Βใࠂ͕͋ͬͨόά ˣޙΖʹ͍͘΄ͲΫϦςΟΧϧ

  14. όάτϥοΩϯάͷ৔ॴͷݕ౼ w (JU)VC*TTVFT w ;FO)VC w +JSB w #BDLMPH w

    3FENJOF w FUDʜ
  15. όάτϥοΩϯάͷ৔ॴͷݕ౼ w (JU)VC*TTVFTʢΈΜͳ͕׳ΕͯΔʣ w ;FO)VC w +JSB w #BDLMPH w

    3FENJOF w FUDʜ
  16. (JU)VC*TTVFT λΠτϧ ಺༰ QMBUGPSN༻ϥϕϧ ϑΣʔζ༻ϥϕϧ

  17. ਖ਼௚໘౗͍͘͞ खͰଧͭͷ͸

  18. ࣗಈԽ͠Α͏

  19. छྨͷࣗಈԽ  4MBDLͷϝοηʔδΛ*TTVFԽ  طʹ͋Δ*TTVF 1VMM3FRVFTUΛผͷϦϙδτϦͷ*TTVFʹίϐʔ

  20. 4MBDLͷϝοηʔδΛ*TTVFԽ

  21. IUUQTOPUFDPNMBQSBTESVNOOCDEE ࢀߟ

  22. ϑΣʔζ͝ͱͷֆจࣈΛ༻ҙ JPT@CVH@CFGPSF@SFMFBTF JPT@CVH@PO@QSPE JPT@CVH@GSPN@DT

  23. None
  24. None
  25. /FX3FBDUJPO"EEFEJO4MBDL ઃఆͨ͠ֆจࣈ 4MBDLͷνϟϯωϧ໊

  26. 3VOKBWBTDSJQU ϝοηʔδͷߦ໨ͱͦΕҎ֎ͷߦΛ෼ׂ

  27. $SFBUF*TTVFJO(JU)VC CVHUSBDLJOHϦϙδτϦ QMBUGPSN QIBTF༻ͷϥϕϧ

  28. 4FOE$IBOOFM.FTTBHFJO4MBDL ɾ ɾ ɾ

  29. ݁Ռ

  30. ͱͯ΋ָ🎉

  31. طʹ͋Δ*TTVF 1VMM3FRVFTUΛ ผͷϦϙδτϦͷ*TTVFʹίϐʔ

  32. ;BQͷ֓ཁ

  33. $BUDI)PPL 63-Λ߇͓͑ͯ͘

  34. 1BUIͷઃఆ 1BZMPBE1VMM3FRVFTU/BNF͕ଘࡏ͠ɺ1BZMPBE"DUJPOʹMBCFMFEΛؚΜͰ͍Δ৔߹͸1VMM3FRVFTU ಉ༷ʹ1BZMPBE*TTVF/BNF͕ଘࡏ͠ɺ1BZMPBE"DUJPOʹMBCFMFEΛؚΜͰ͍Δ৔߹͸*TTVFͱͯ͠ѻ͏

  35. 'JMUFSͷઃఆ ෇༩͞ΕͨϥϕϧΛϑΟϧλϦϯά

  36. 3VOKBWBTDSJQU ίϐʔݩͱίϐʔઌͷϥϕϧΛϚοϐϯά

  37. $SFBUF*TTVFJO(JU)VC 4MBDLͷϝοηʔδΛJTTVFԽͱಉ༷ 3VOKBWBTDSJQUͰ࡞੒ͨ͠ϥϕϧ ίϐʔઌͷϦϙδτϦ

  38. (JU)VCͰ8FCIPPLTͷઃఆ ߇͓͍͑ͯͨ63-Λઃఆ *TTVFT 1VMMSFRVFTUʹνΣοΫ

  39. ͱͯ΋ָ🎉

  40. ϦϦʔεϊʔτΛݕ౼͢Δ 1VMM3FRVFTUΛखܰʹ࡞੒͍ͨ͠

  41. IUUQTOPUFDPNZSJJDBOOEDGBG

  42. ϦϦʔεϊʔτͷྲྀΕ

  43. ϦϦʔεϊʔτͷྲྀΕ

  44. ࣗಈԽ͠Α͏

  45. ϦϦʔεϊʔτ࡞੒ͷྲྀΕ  4MBDLͰDSFBUF@SFMFBTF@OPUF\/&95@7&34*0/^Λ࣮ߦ  ;BQJFS͔Β$JSDMF$*Λݺͼग़͠  $JSDMF$*ͰIPU fi Y\/&95@7&34*0/^SFMFBTF@OPUFϒϥϯνΛ࡞੒ 

    ;BQJFS͔Β1VMM3FRVFTUΛ࡞੒
  46. ϦϦʔεϊʔτ࡞੒ͷྲྀΕ  4MBDLͰDSFBUF@SFMFBTF@OPUF\/&95@7&34*0/^Λ࣮ߦ  ;BQJFS͔Β$JSDMF$*Λݺͼग़͠  $JSDMF$*ͰIPU fi Y\/&95@7&34*0/^SFMFBTF@OPUFϒϥϯνΛ࡞੒ 

    ;BQJFS͔Β1VMM3FRVFTUΛ࡞੒ ޙΖ͔Βઆ໌
  47. ;BQJFS͔Β1VMM3FRVFTUΛ࡞੒

  48. $BUDI)PPL 63-Λ߇͓͑ͯ͘

  49. ̎$SFBUF1VMM3FRVFTUJO(JU)VC ϦϙδτϦΛબ୒ ޙͷ৘ใ͸νʔϜ͝ͱʹద੾ʹઃఆ

  50. 4FOE$IBOOFM.FTTBHFJO4MBDL

  51. $JSDMF$*ͰIPUGJY\/&95@7&34*0/^SFMFBTF@OPUFϒϥϯνΛ࡞੒ - &create_release_note_from_ci - checkout - *attach_workspace - run: name:

    "create branch for release note" command: | NEXT_VERSION=<< pipeline.parameters.next_version >> BRANCH=<< pipeline.git.branch >> if [ "$NEXT_VERSION" = "" ]; then NEXT_VERSION=${BRANCH##*/} fi echo $NEXT_VERSION git reset --hard HEAD git config user.email “email@example.com“ git config user.name “Example User Name” NEW_BRANCH_NAME="hotfix/${NEXT_VERSION}/release_note" if [[ -n `git ls-remote --heads origin ${NEW_BRANCH_NAME}` ]]; then echo "Branch name $NEW_BRANCH_NAME already exists." else echo "Branch name $NEW_BRANCH_NAME not exists." git checkout -b $NEW_BRANCH_NAME echo "for ${NEXT_VERSION}" >> ./fastlane/metadata/en-US/release_notes.txt git add . git commit -m "[ci skip] [auto commit] update release note" git push origin hotfix/${NEXT_VERSION}/release_note curl -X POST -d "version=${NEXT_VERSION}" https://hooks.zapier.com/hooks/catch/999999/XXXXXX/ fi (JU)VCʹϒϥϯν͕͋Δ͔ ແ͚Ε͹ϒϥϯνΛ࡞੒ ద౰ͳमਖ਼ΛՃ͑ͯ1VTI ;BQJFS͔Β1VMM3FRVFTUΛ࡞੒ Ͱ࡞ͬͨ63-Λୟ͘
  52. ;BQJFS͔Β$JSDMF$*Λ࣮ߦ

  53. $BUDI)PPL 63-Λ߇͓͑ͯ͘

  54. 3VO1ZUIPO αʔΫϧ$*ͷτʔΫϯ

  55. 4MBDLͰDSFBUF@SFMFBTF@OPUF\/&95@7&34*0/^Λ࣮ߦ

  56. 4MBTI$PNNBOEͷઃఆ ;BQJFS͔Β$JSDMF$*Λ࣮ߦ Ͱ࡞੒ͨ͠63-Λઃఆ

  57. ݁Ռ

  58. ͱͯ΋ָ🎉

  59. ·ͱΊ w OPUFࣾͷΞϓϦνʔϜͰ͸ݶΒΕͨϝϯόʔͷதͰͳΔ΂͘ӡ༻ͷͨΊͷਓ Λ࡞Βͳ͍ʢଐਓԽͤ͞ͳ͍ʣΑ͏ʹ͍ͯ͠Δ w ීஈ࢖͍ͬͯΔπʔϧΛߋʹศརʹ֦ு͢Δ w 4MBDL (JU)VCͳͲ w

    4XJGU͕ߦ΋ग़ͯ͜ͳͯ͘ਃ͠༁ͳ͍🙇
  60. None