deliverbot のススメ / deliverbot at Sansan

deliverbot のススメ / deliverbot at Sansan

deliverbot のススメ

【増枠】Mobile Engineer Meetup by Sansan https://sansan.connpass.com/event/121319/

1d9297f694c29fce2f7f9e5c6ef36419?s=128

Yasuo Nakagawa

March 05, 2019
Tweet

Transcript

  1. deliverbot ͷεεϝ Sansan ࣄۀ෦ ϓϩμΫτ։ൃ෦ த઒ ହ෉

  2. ࣗݾ঺հ • GitHub: @ynakagawa33 • iOS ΞϓϦΤϯδχΞ • ࡞Δ͜ͱ͕޷͖ •

    Ԟͷ ErgoDash ͸ि຤ळ༿ʹ௨͍ ͭͭɺ࠷ۙ׬੒ͤ͞·ͨ͠
  3. 11/07 ͷ CI/CD Test Night ʹߦͬͨਓʔʁ

  4. ຊ LT ͸؛઒͞Μ͔Β঺հͷ͋ͬͨ deliverbot ʹ͍ͭͯ

  5. Sansan Ͱͷ՝୊

  6. ௕ա͗ΔϦϦʔεखॱॻ

  7. ϦϦʔεʹର͢Δҹ৅

  8. ͳΜͱ͔ͤͶ͹

  9. deliverbot Λಋೖ͠Α ͏

  10. deliverbot ͕୅ସͯ͘͠Εͨखॱ • Target ͝ͱͷόʔδϣϯ൪߸ߋ৽ • ϦϦʔεର৅ͷมߋ֬ೝ༻ͷ PR ࡞੒ •

    Bitrise ͰϦϦʔεϏϧυ༻ͷϫʔΫϑϩʔΛ࣮ߦ͢Δ • ϦϦʔεϏϧυͷ੒Ռ෺Λμ΢ϯϩʔυ͢Δ • Application Loader Ͱμ΢ϯϩʔυͨ͠ ipa Λ App Store ΁ Ξοϓϩʔυ͢Δ
  11. Target ͝ͱͷόʔ δϣϯ൪߸ߋ৽ ࠓ·Ͱ • ΞϓϦຊମͱ Call Directory Extension ͷ྆ํͷ

    Info.plist Λߋ৽ ͢ΔίϛοτΛੵΜͰͨ
  12. Target ͝ͱͷόʔ δϣϯ൪߸ߋ৽ ͜Ε͔Β • deliverbot ʹࢦఆͨ͠όʔδϣϯʹ ߋ৽ͯ͘͠ΕΔ

  13. ϦϦʔεର৅ͷมߋ֬ ೝ༻ͷ PR ࡞੒ ࠓ·Ͱ • PR Λ࡞Βͣɺ Slack Ͱมߋ֬ೝґཔ

    ͍ͯͯ͠ɺϦϦʔεͷ࡞ۀ͕ Slack ʹ ͔͠࢒ͬͯͳ͔ͬͨ • ҰԠɺḪΕ͹ɺݟ͚ͭΔ͜ͱ͸ग़ དྷΔ͕ɺաڈͷܦҢΛݟ͚ͭΔͷ ͕େม
  14. ϦϦʔεର৅ͷมߋ֬ ೝ༻ͷ PR ࡞੒ ͜Ε͔Β • deliverbot ͕ద੾ͳϑΥʔϚοτͰ PR Λ࡞ͬͯ͘ΕΔ

    • BOT ͕ࣗಈͰ࡞Δ͔Βɺ୭͕΍ͬ ͯ΋͍͍ͷͰɺνʔϜͰ෼ۀ͕ग़ དྷΔ
  15. Bitrise ͰϦϦʔεϏ ϧυ༻ͷϫʔΫϑϩʔ Λ࣮ߦ͢Δ ࠓ·Ͱ • Bitrise ʹϩάΠϯ • ΞϓϦΛબ୒͢Δ

    • Start/Schedule a Build • ϦϦʔεϒϥϯνΛࢦఆ͢Δ • ϫʔΫϑϩʔΛબ୒͢Δ
  16. Bitrise ͰϦϦʔεϏ ϧυ༻ͷϫʔΫϑϩʔ Λ࣮ߦ͢Δ ͜Ε͔Β • deliverbot ͕ PR Λ࡞ͬͨΒɺࣗಈͰ

    ϦϦʔεϏϧυ༻ͷϫʔΫϑϩʔ͕ τϦΨʔ͞ΕΔ
  17. ੒Ռ෺Λμ΢ϯϩʔυ & ετΞ΁Ξοϓϩʔ υ ࠓ·Ͱ • Bitrise ͔Β Slack ΁௨஌͞ΕΔϏϧ

    υ੒ޭͷ௨஌͔ΒϏϧυϖʔδʹඈ Ϳ • APPS ˍ ARTIFACTS ͔Β ipa Λμ΢ ϯϩʔυ͢Δ • Application Loader Ͱμ΢ϯϩʔυ
  18. ੒Ռ෺Λμ΢ϯϩʔυ & ετΞ΁Ξοϓϩʔ υ ͜Ε͔Β • deliverbot ͕τϦΨʔͨ͠ϫʔΫϑ ϩʔͰετΞ΁ͷΞοϓϩʔυ·Ͱ ߦ͏

  19. deliverbot Λಋೖ͢Δ ࡍʹࠔͬͨ͜ͱ

  20. deliverbot Λಋೖ͢Δࡍʹࠔͬͨ͜ ͱ • ઃఆϑΝΠϧ͔ΒઃఆՄೳͳόʔδϣϯઃఆϑΝΠϧΛݻఆ ஋Ͱ্ॻ͖͍ͯͨ͠ • deliverbot ͰࢦఆͰ͖Δϒϥϯνʹ /

    ͕ೖͬͨϒϥϯν͕ग़ ͯ͜ͳ͍ • ݱߦͷ deliverbot ͩͱ PR ͷD Description ʹ Change Log Λૠೖ͢Δॲཧ͕ແޮԽ͞ΕͯΔ
  21. ઃఆϑΝΠϧ͔ΒઃఆՄೳͳ όʔδϣϯઃఆϑΝΠϧΛݻ ఆ஋Ͱ্ॻ͖͍ͯͨ͠ ݪҼ https://github.com/kishikawakatsumi/ deliverbot/blob/master/main.go#L39- L40

  22. ઃఆϑΝΠϧ͔ΒઃఆՄೳͳ όʔδϣϯઃఆϑΝΠϧΛݻ ఆ஋Ͱ্ॻ͖͍ͯͨ͠ ରԠ • ࢦఆ͞Ε͍ͯΔύεʹҧ࿨ײ͕ͳ ͔ͬͨͷͰɺͪ͜ΒଆͷઃఆϑΝΠ ϧΛࢦఆ͞Ε͍ͯΔ΋ͷʹدͤͨ

  23. deliverbot ͰࢦఆͰ͖Δϒ ϥϯνʹ / ͕ೖͬͨϒϥϯν ͕ग़ͯ͜ͳ͍ ݪҼ https://github.com/kishikawakatsumi/ deliverbot/blob/master/github.go#L72

  24. deliverbot ͰࢦఆͰ͖Δϒ ϥϯνʹ / ͕ೖͬͨϒϥϯν ͕ग़ͯ͜ͳ͍ ରԠ • ग़ͯ͘Εͳ͍ͱӡ༻ʹ৐Βͳ͔͍ͷ Ͱɺ

    fork • मਖ਼ͷίϛοτΛੵΜͩ • https://github.com/ ynakagawa33/deliverbot/commit/ 4700c06d49eb6d5598dc0c6e30 8bf42fd3e41047
  25. ݱߦͷ deliverbot ͩͱ PR ͷD Description ʹ Change Log Λૠೖ͢Δॲཧ͕ແޮԽ

    ͞ΕͯΔ ݪҼ https://github.com/kishikawakatsumi/ deliverbot/blob/master/ interaction.go#L424-L449
  26. ݱߦͷ deliverbot ͩͱ PR ͷD Description ʹ Change Log Λૠೖ͢Δॲཧ͕ແޮԽ

    ͞ΕͯΔ ରԠ • ༗ޮʹ͢ΔίϛοτΛ fork ͨ͠Ϧϙ δτϦʹੵΜͩ • https://github.com/ ynakagawa33/deliverbot/commit/ c30d0092619c4aac189e57208cd dcd40aed72d30
  27. ࠷ޙʹ • ࠓճͷ࡞ۀϩά͸ Qrunch ʹ࢒ͯ͋͠ΔͷͰɺࢀߟʹͲ͏ͧ ! • https://ynakagawa33.qrunch.io//logs/ yNpdde4yD2rD4Ogc