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

GitHubだけでWebフロントエンドのCI/CDをまわしてみた

26a00012c475c2380cd98cfe5e2e70ef?s=47 ozaki25
October 01, 2019

 GitHubだけでWebフロントエンドのCI/CDをまわしてみた

26a00012c475c2380cd98cfe5e2e70ef?s=128

ozaki25

October 01, 2019
Tweet

More Decks by ozaki25

Other Decks in Technology

Transcript

  1. (JU)VC͚ͩͰ$*$%Λճͯ͠ΈΔ  ඌ࡚༐Ұ

  2. ࣗݾ঺հ w ໊લɿඌ࡚༐Ұ w ٕज़ɿ3FBDU 3FBDU/BUJWF 'JSFCBTF 18" αʔόʔϨε w

    5XJUUFSɿ!P[BLJSO w (JU)VCɿP[BLJ w 2JJUBɿP[BLJ   P[BLJͷ͸ എ൪߸͔Β͖ͯ·͢ ʢ࠷ۙ͞΅Γؾຯʣ
  3. ໨࣍  (JU)VC"DUJPOTͱ͸  (JU)VC"DUJPOTͷ࢖͍ํ  (JU)VC͚ͩͰ8FCϑϩϯτΤϯυͷ$*$%Λ׬݁ͤͯ͞Έͨ  αʔόʔϨεͳ41"։ൃͰ(JU)VC"DUJPOTΛϑϧ׆༻ͯ͠Έͨ 

    ײ૝·ͱΊ  
  4. (JU)VC"DUJPOTͱ͸  

  5. (JU)VCͱ͸ w ઃܭਤڞ༗αΠτ w ιʔείʔυΛϗεςΟϯάͰ͖Δ8FCαʔϏε w ΦʔϓϯιʔεͷϥΠϒϥϦ΍ݸਓϓϩδΣΫτͳͲ
 ෯޿͘࢖ΘΕ͍ͯΔ w ྨࣅαʔϏεʹ͸(JUMBCɺ#JU#VDLFUͳͲ͕͋Δ

      IUUQTPDUPEFYHJUIVCDPN
  6. (JU)VC"DUJPOTͱ͸ w (JU)VCʹ௥Ճ͞Εͨ$*αʔϏεʢݱࡏЌ൛ʣ w ϦϙδτϦ΁ͷ1VTIͳͲΛτϦΨʔʹλεΫΛ࣮ߦͰ͖Δ w λεΫ͸Ծ૝؀ڥͰ࣮ߦ͞ΕΔͷͰݴޠΛ໰Θͣ
 Ϗϧυ΍ςετͳͲԿͰ΋࣮ߦͰ͖Δ w ྨࣅαʔϏεʹ͸+FOLJOTɺ$JSDMF$*ɺ$PODPVSTFͳͲ͕͋Δ

     
  7. ྉۚମܥ   IUUQTHJUIVCDPKQGFBUVSFTBDUJPOT

  8. (JU)VC"DUJPOTͷ࢖͍ํ  

  9.   (JU)VC"DUJPOTͷར༻ొ࿥ w ݱࡏ͸ਃ੥͠ͳ͍ͱ࢖͑ͳ͍ IUUQTHJUIVCDPNGFBUVSFTBDUJPOTTJHOVQ

  10. (JU)VC"DUJPOTͷར༻ొ࿥ w ద౰ͳࣗ෼ͷϦϙδτϦͰ"DUJPOTͷλϒ͕ग़͍ͯΕ͹0,  

  11. (JU)VC"DUJPOTͷઃఆϑΝΠϧ࡞੒ w HJUIVCXPSLqPXT഑ԼʹZBNMϑΝΠϧΛ࡞੒͢Δ͚ͩͰ (JU)VC͕উखʹೝࣝͯ͘͠ΕΔ  

  12. ઃఆϑΝΠϧͷαϯϓϧ  

  13. ઃఆϑΝΠϧͷαϯϓϧ   8PSLqPX໊

  14. ઃఆϑΝΠϧͷαϯϓϧ   τϦΨʔ
 1VTI͞Εͨ࣌΍ 1VMM3FRVFTUͷ࡞੒࣌ͳͲ ઃఆͰ͖Δ

  15. ઃఆϑΝΠϧͷαϯϓϧ   +PCͷఆٛ ෳ਺ఆٛ͢Δͱฒྻʹ࣮ߦ͞ΕΔ ͜ͷྫͰ͸UFTUͱ͍͏KPCΛ ͻͱ͚ͭͩఆ͍ٛͯ͠Δ

  16. ઃఆϑΝΠϧͷαϯϓϧ   ؀ڥͷઃఆ
 ͜ͷྫͰ͸6CVOUVʹ/PEFͷ؀ڥΛ ηοτΞοϓ͍ͯ͠Δ

  17. ઃఆϑΝΠϧͷαϯϓϧ   λεΫͷઃఆ ࣮ߦ͢ΔίϚϯυΛఆ͍ٛͯ͘͠ ͜ͷྫͰ͸IFMMPͱIFMMPOPEFͷͱ͍͏ λεΫΛఆ͍ٛͯ͠Δ

  18. ઃఆϑΝΠϧͷαϯϓϧ   w ৄࡉ͸ҎԼͷϖʔδʹࡌͬͯ·͢ w IUUQTIFMQHJUIVCDPNKBBSUJDMFT XPSLqPXTZOUBYGPSHJUIVCBDUJPOT

  19. ࣮ߦ݁Ռͷαϯϓϧ  

  20. ,FZ৘ใͷຒΊࠐΈ w "1*,FZͷΑ͏ͳιʔείʔυ্ʹ௚઀ॻ͖ͨ͘ͳ͍৘ใ͸
 4FDSFUTͱͯ͠(JU)VC্ʹొ࿥͠औΓࠐΉ͜ͱ͕Ͱ͖Δ   ʮ4FUUJOHTʯʮTFDSFUTʯ͔Βొ࿥

  21. (JU)VC͚ͩͰ8FCϑϩϯτΤϯυͷ
 $*$%Λ׬݁ͤͯ͞Έͨ  

  22. (JU)VC"DUJPOTΛ஌ͬͯߟ͑ͨ͜ͱ w (JU)VC"DUJPOTͱ(JU)VC1BHFTΛ࢖͑͹(JU)VC͚ͩͰ
 8FCϑϩϯτΤϯυͷ$*$%Λ׬݁ͤ͞Δ͜ͱ͕Ͱ͖ͦ͏ʂ   αʔόαΠυ ΫϥΠΞϯταΠυ )551௨৴ ͬͪ͜ଆͷ࿩

  23. ΍Γ͍ͨ͜ͱ   w 8FCϑϩϯτΤϯυͷ
 ։ൃ͔ΒϢʔβ͕ΞΫηε͢Δ·Ͱͷͳ͕Ε

  24. ΍Γ͍ͨ͜ͱ   ᶃ41"ͷίʔυΛॻ͘

  25. ΍Γ͍ͨ͜ͱ   ᶃ41"ͷίʔυΛॻ͘ ᶄϦϙδτϦʹ1VTI

  26. ΍Γ͍ͨ͜ͱ   ᶃ41"ͷίʔυΛॻ͘ ᶄϦϙδτϦʹ1VTI ᶅςετϏϧυσϓϩΠ Α͠ͳʹ΍ͬͯ͘Ε

  27. ΍Γ͍ͨ͜ͱ   ᶃ41"ͷίʔυΛॻ͘ ᶄϦϙδτϦʹ1VTI ᶅςετϏϧυσϓϩΠ ᶆϖʔδʹΞΫηε

  28. (JU)VC"DUJPOTͱ(JU)VC1BHFTΛ࢖͏ͱ  

  29. ΍Γ͍ͨ͜ͱ   ᶃ41"ͷίʔυΛॻ͘ ᶄϦϙδτϦʹ1VTI ᶆϖʔδʹΞΫηε ᶅςετϏϧυσϓϩΠ IUNM DTT KT

    IUNM DTT KT $*αʔϏε ϗεςΟϯάαʔϏε
  30. %FNP  

  31. αʔόʔϨεͳ41"։ൃͰ(JU)VC"DUJPOT Λϑϧ׆༻ͯ͠Έͨ  

  32. Α͋͘ΔΞϓϦͷߏ੒   3FBDU -BNCEB )551௨৴ 41" "1* ϑϩϯτ͸41"Ͱ"1*͸αʔόʔϨεͳߏ੒

  33. ʢࢀߟʣ/FUMJGZͱ͸   w ੩తϑΝΠϧͷϗεςΟϯάαʔϏε w Ϣʔβ͸Ξοϓϩʔυ͞Εͨ)5.-ͳͲͷ63-ʹ
 ΞΫηε͢Δ͜ͱͰ8FCίϯςϯπΛӾཡͰ͖Δ w /FUMJGZ͸(JU)VC࿈ܞ͕ߴػೳͰઃఆͳ͠Ͱ


    ϒϥϯν͝ͱͷϓϨϏϡʔ؀ڥ࡞੒ͳͲ͕Ͱ͖Δ
  34. ʢࢀߟʣ4UPSZCPPLͱ͸   w 41"ͷίϯϙʔωϯτΛ
 8FC্Ͱಈ࡞Λ֬ೝͰ͖Α͏ʹ͢ΔϥΠϒϥϦ w ͲΜͳίϯϙʔωϯτ͕༻ҙ͞Ε͍ͯΔ͔ͷ೺Ѳ΍
 ίϯϙʔωϯτͷ࢖͍ํͳͲΛ֬ೝ͢Δ͜ͱ͕Ͱ͖Δ w

    ੩తϑΝΠϧͱͯ͠ग़ྗͰ͖ΔͨΊϗεςΟϯάαʔϏεʹ
 σϓϩΠ͢Δ͜ͱͰ8FC্ͰӾཡՄೳͱͳΔ
  35. Α͋͘ΔΞϓϦͷߏ੒   3FBDU -BNCEB )551௨৴ 41" "1* ·ͣ͸ ͬͪ͜ଆ͔Β

  36.   EFWϒϥϯν NBTUFSϒϥϯν ίʔυΛॻ͘ 1SFWJFX؀ڥ ຊ൪؀ڥ

  37.   EFWϒϥϯν NBTUFSϒϥϯν 1VTI ίʔυΛॻ͘ 1SFWJFX؀ڥ ຊ൪؀ڥ

  38.   EFWϒϥϯν NBTUFSϒϥϯν 1VTI 1VMM3FRVFTU ίʔυΛॻ͘ $SFBUF 1SFWJFX؀ڥ ຊ൪؀ڥ

  39.   EFWϒϥϯν NBTUFSϒϥϯν 1VTI 1VMM3FRVFTU ίʔυΛॻ͘ $SFBUF 1SFWJFX؀ڥ ຊ൪؀ڥ

    ɹɹɹςετ ɹɹɹϏϧυ ɹɹɹɹσϓϩΠ
  40.   EFWϒϥϯν NBTUFSϒϥϯν 1VTI 1VMM3FRVFTU ίʔυΛॻ͘ $SFBUF .FSHF 1SFWJFX؀ڥ

    ຊ൪؀ڥ ɹɹɹςετ ɹɹɹϏϧυ ɹɹɹɹσϓϩΠ
  41.   EFWϒϥϯν NBTUFSϒϥϯν 1VTI 1VMM3FRVFTU ίʔυΛॻ͘ $SFBUF .FSHF 1SFWJFX؀ڥ

    ຊ൪؀ڥ ɹɹɹςετ ɹɹɹϏϧυ ɹɹɹɹσϓϩΠ ɹɹɹϏϧυ ɹɹɹɹσϓϩΠ ɹɹɹɹɹ4UPSZCPPLΛ
 ɹɹɹϏϧυ ɹɹɹɹσϓϩΠ
  42. %FNP  

  43. Α͋͘ΔΞϓϦͷߏ੒   3FBDU -BNCEB )551௨৴ 41" "1* ࣍͸ͬͪ͜ଆ

  44.   EFWϒϥϯν NBTUFSϒϥϯν ίʔυΛॻ͘

  45.   EFWϒϥϯν NBTUFSϒϥϯν 1VTI ίʔυΛॻ͘

  46.   EFWϒϥϯν NBTUFSϒϥϯν 1VTI 1VMM3FRVFTU ίʔυΛॻ͘ $SFBUF

  47.   EFWϒϥϯν NBTUFSϒϥϯν 1VTI 1VMM3FRVFTU ίʔυΛॻ͘ $SFBUF ɹɹɹɹɹςετ

  48.   EFWϒϥϯν NBTUFSϒϥϯν 1VTI 1VMM3FRVFTU ίʔυΛॻ͘ $SFBUF .FSHF ɹɹɹɹɹςετ

  49.   EFWϒϥϯν NBTUFSϒϥϯν 1VTI 1VMM3FRVFTU ίʔυΛॻ͘ $SFBUF .FSHF ɹɹɹɹɹςετ

    ɹɹɹϏϧυ ɹɹɹɹσϓϩΠ
  50. %FNP  

  51. ײ૝·ͱΊ  

  52. (JU)VC"DUJPOTͷػೳʹ͍ͭͯ w ϥΠϒϥϦΛΩϟογϡͰ͖ͳ͍ͷ͕ඍົ w ຖճJOTUBMM͠ͳ͍ͱ͍͚ͳ͍͔Β͔͔࣌ؒΔ w εϖοΫѱ͍ͷ͔࣮ߦ଎౓͕஗͍ w ϩʔΧϧͰಉ͜͡ͱΛ΍ΔΑΓѹ౗తʹ஗͍ w

    ࠷େ·Ͱฒྻ࣮ߦͰ͖Δ͔Β޻෉࣍ୈ͔΋ʁ w ΩϟογϡͰ͖ͳ͍෼ฒྻ࣮ߦͰΧόʔͰ͖Δ͔ʁ  
  53. (JU)VC"DUJPOTΛ࢖ͬͯΈͯ w (JU)VCʹ1VTI͢Δͷ͸౰ͨΓલͷϑϩʔͳͷͰɺ
 ͦͷྲྀΕͰ$*͕ճΔͷ͸خ͍͠ w ݸਓ։ൃͰ΋$*Λճ͢ϋʔυϧ͕Լ͕ͬͨؾ͕͢Δ w ͪΌΜͱͨ͠ΞϓϦͰ࢖͏ͳΒ
 ୯७ʹબ୒ࢶ͕૿͑ͨͷ͕خ͍͠
 ༻్ʹ͋ͬͨ΋ͷΛ࢖͍ͬͯ͘ͱྑͦ͞͏

     
  54. ·ͱΊ w (JU)VC"DUJPOTΛ࢖͏ͱଞͷ$*αʔϏεͱಉ͡Ϩϕϧͷ
 ϫʔΫϑϩʔΛճͤΔ w ϦϙδτϦʹ(JU)VCΛ࢖͏ͳΒͦͷதͰ$*·Ͱ
 ׬݁Ͱ͖ΔͷͰΑͦ͞͏ w ੑೳ໘ͳͲٻΊΔ৔໘Ͱ͸બ୒ࢶͷҰͭͱͯ͠಄ʹೖΕ͓ͯ͘ͱ Αͦ͞͏

     
  55. ͋Γ͕ͱ͏͍͟͝·ͨ͠