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

継続的インテグレーションとChatOpsでシステム開発・運用を効率化

 継続的インテグレーションとChatOpsでシステム開発・運用を効率化

B51ca7a51ae1fd06bc536fe83e6113e2?s=128

Kaz Watanabe

May 30, 2015
Tweet

Transcript

  1. ܧଓతΠϯςάϨʔγϣϯͱChatOpsͰ γεςϜ։ൃɾӡ༻ΛՄࢹԽ ߹ಉձࣾ decr ୅දࣾһ ౉ลҰ޺(@kaz_29)

  2. WHO? ߹ಉձࣾ decr ୅දࣾһ WebΞϓϦέʔγϣϯͷ։ൃɺ iOSΞϓϦέʔγϣϯͷ։ൃɺ Ϋϥ΢υΠϯϑϥͷߏஙɾӡ༻

  3. ιϑτ΢ΣΞ։ൃʹٻΊΒΕ͍ͯ Δ΋ͷ ୹͍ϦϦʔεαΠΫϧ ಈ͘ιϑτ΢ΣΞͷڙڅ ՄೳͳݶΓແବΛഉআ νʔϜ಺ͷԁ׈ͳίϛϡχέʔγϣϯ͕ॏཁ ࣗಈԽՄೳͳ΋ͷ͸શͯࣗಈԽ͢Δ

  4. ܧଓతΠϯςάϨʔγϣϯ Continuous Integration = CI

  5. “ܧଓతΠϯςάϨʔγϣϯɺCIʢӳ: continuous integrationʣͱ͸ɺओʹϓϩάϥϚʔͷΞϓϦ έʔγϣϯ࡞੒࣌ͷ඼࣭վળ΍ೲظͷ୹ॖͷͨΊ ͷश׳ͷ͜ͱͰ͋ΔɻΤΫετϦʔϜɾϓϩάϥ ϛϯά (XP) ͷϓϥΫςΟεͷҰͭͰɺڱٛʹ͸Ϗ ϧυ΍ςετɺΠϯεϖΫγϣϯͳͲΛܧଓతʹ ࣮ߦ͍ͯ͘͜͠ͱΛҙຯ͢Δɻ”

    – Wikipedia
  6. Ή͔͍ͣ͠…

  7. ܧଓతΠϯςάϨʔγϣϯ ඞਢ৚݅

  8. ܧଓతΠϯςάϨʔγϣϯ ඞਢ৚݅ - VCS όʔδϣϯ؅ཧγεςϜ(VCS)ͷಋೖ͸ඞਢʂ ෳ਺ͷόʔδϣϯΛखಈͰ؅ཧ͢Δ͜ͱ͸ෆՄೳ git/mercurialͳͲͷ෼ࢄܕ͕͓͢͢Ί GitHub/BitbucketͳͲͷαʔϏεΛར༻͢Δ͜ͱͰ؅ཧ ίετΛ࡟ݮ

  9. ܧଓతΠϯςάϨʔγϣϯ ඞਢ৚݅ - CIπʔϧ ܧଓతΠϯςάϨʔγϣϯπʔϧ αʔόʔΠϯετʔϧܕ SaaSܕ …

  10. ܧଓతΠϯςάϨʔγϣϯ ඞਢ৚݅ - ςετʂ ࣗಈԽ͞Εͨςετ UnitTest ίʔυΧόϨοδ डೖςετ Selenium behat(BDD

    Story Test) - http://behat.org Codeception - http://codeception.com/
  11. ܧଓతΠϯςάϨʔγϣϯ ඞਢ৚݅ - ௨஌ ໰୊Λൃݟͨ͠Β͙͢ʹ஌ΒͤΔ ΤϯδχΞ͚ͩͰͳ͘νʔϜશһʹ஌ΒͤΔ ͋Δछͷۓுײ͕ੜ·ΕΔ? ͙͢ʹؾͮ͘ɺݟམͱ͞Εͳ͍ϝσΟΞͰ఻͑Δ ໰୊͸࠷༏ઌͰରԠʂ

  12. ܧଓతΠϯςάϨʔγϣϯ ಘΒΕΔϝϦοτ

  13. ܧଓతΠϯςάϨʔγϣϯ ಘΒΕΔϝϦοτ ଐਓੑɺ୺຤ґଘͷഉআ ͍ͭͰ΋ ୭Ͱ΋ ؆୯ͳखॱͰ ࣮ߦͰ͖Δ

  14. ܧଓతΠϯςάϨʔγϣϯ ಘΒΕΔϝϦοτ ϓϩδΣΫτ։࢝౰ॳ͔Β܁Γฦ࣮͠ߦ ϏϧυΛࣗಈ࣮ߦ ຖ೔ఆ࣮࣌ߦ ιϑτ΢ΣΞʹमਖ਼͕ೖΔͨͼ ໰୊Λૉૣ͘ ൃݟͰ͖Δ

  15. ܧଓతΠϯςάϨʔγϣϯ ಘΒΕΔϝϦοτ मਖ਼ίετ ཁٻఆٛ ઃܭ ։ൃ୯ମςετ ݁߹ςετ ϕʔλςετ ެ։ޙ ໰୊मਖ਼ʹ͔͔Δίετ

    ૣ͘ݟ͚ͭͯ ૉૣ͘௚͢ʂ
  16. ܧଓతΠϯςάϨʔγϣϯ ಘΒΕΔϝϦοτ ϓϩδΣΫτͷ ঢ়ଶΛ೺ѲͰ͖Δ

  17. ChatOpsͱ͸ʁ

  18. ChatOpsͱ͸ʁ νϟοτ্ͰίϚϯυΛೖྗ͠λεΫΛ࣮ߦ ιϑτ΢ΣΞͷσϓϩΠɺϏϧυͷ࣮ߦɺ λΠϜΧʔυͷଧࠁ…etc ιϑτ΢ΣΞ։ൃதͷ༷ʑͳঢ়ଶɾ৘ใΛνϟοτ ্ͰՄࢹԽ ίʔυͷCommitɺϏϧυ݁Ռɺ؂ࢹ݁ՌɺΤ ϥʔ಺༰…etc

  19. ChatOps ಘΒΕΔϝϦοτ

  20. ChatOps ಘΒΕΔϝϦοτ ࠓԿ͕ى͖͍ͯΔ͔ΛνʔϜશһ͕೺ѲͰ͖Δ ৘ใ΍ૢ࡞ΛҰՕॴʹू໿Ͱ͖Δ ൃੜ͍ͯ͠Δ͜ͱʹؔ͢Δٞ࿦Λͦͷ··ਐΊΒΕΔ ϞόΠϧͰ΋ར༻Ͱ͖Δ

  21. ܧଓతΠϯςάϨʔγϣϯ+ChatOps ฐࣾͰͷࣄྫ

  22. CI+ChatOps ฐࣾͰͷࣄྫ http://mega-hon.com/

  23. CI+ChatOps ฐࣾͰͷࣄྫ VCS crash report ϓϩϏδϣχϯά σϓϩΠ λεΫ/ετʔϦͷ؅ཧ CI ΞϓϦ

    νϟοτγεςϜ ։ൃ؀ڥ εςʔδϯά/ϓϩμΫγϣϯ؀ڥ I love Ubuntu
  24. CI+ChatOps ฐࣾͰͷࣄྫ - ։ൃ؀ڥ ։ൃ؀ڥ εςʔδϯά/ϓϩμΫγϣϯ؀ڥ ϓϩϏδϣχϯά

  25. CI+ChatOps ฐࣾͰͷࣄྫ - ࡞ۀͷྲྀΕ ίʔυΛίϛοτ [finish #ετʔϦʔ൪߸] ίϛοτΛ௨஌ ετʔϦΛด͡Δ ετʔϦʹίϝϯτΛ͚ͭΔ

    ετʔϦͷ ঢ়ଶΛ௨஌
  26. CI+ChatOps ฐࣾͰͷࣄྫ - ࡞ۀͷྲྀΕ

  27. CI+ChatOps ฐࣾͰͷࣄྫ - ࡞ۀͷྲྀΕ PRΛ࡞੒ PRΛ௨஌ PRΛ௨஌ ϏϧυΛࣗಈ࣮ߦ ςετ։࢝/݁ՌΛίϝϯτ ςετ݁ՌΛ

    ௨஌
  28. CI+ChatOps ฐࣾͰͷࣄྫ - ࡞ۀͷྲྀΕ

  29. CI+ChatOps ฐࣾͰͷࣄྫ - ࡞ۀͷྲྀΕ

  30. CI+ChatOps ฐࣾͰͷࣄྫ - ࡞ۀͷྲྀΕ

  31. CI+ChatOps ฐࣾͰͷࣄྫ - σϓϩΠ chat γεςϜ ίϚϯυೖྗ @megahon-bot deploy to

    staging σϓϩΠ݁Ռ HuBot ίϚϯυड৴ σϓϩΠॲཧىಈ
  32. CI+ChatOps ฐࣾͰͷࣄྫ - σϓϩΠ

  33. CI+ChatOps ฐࣾͰͷࣄྫ - ΞϓϦͷঢ়ଶ௨஌ chat γεςϜ ΞϓϦͷঢ়ଶ

  34. CI+ChatOps ฐࣾͰͷࣄྫ - ΞϓϦͷঢ়ଶ௨஌

  35. CI+ChatOps ฐࣾͰͷࣄྫ - ͦͷଞ chat γεςϜ ΫϥογϡϨϙʔτ

  36. CI+ChatOps ฐࣾͰͷࣄྫ - ͦͷଞ

  37. ·ͱΊ

  38. CI + ChatOps ໰୊Λૉૣ͘ൃݟ ϓϩδΣΫτͷঢ়ଶΛՄࢹԽ νʔϜ಺ͷίϛϡχέʔγϣϯͷԁ׈Խ

  39. ϩʔϚ͸̍೔ʹ ͯ͠੒Βͣ

  40. $* $IBU0QTͰ ҆৺ͯ͠εϐʔσΟʔʹ ։ൃΛਐΊ·͠ΐ͏ʂ Fin

  41. ͓·͚ ॻళϒʔεͰ ઈࢍൢചதʂ 13:30ʙαΠϯձ΋͋ΔΑ(><)