継続的インテグレーションとChatOpsでシステム開発・運用を効率化
by
Kaz Watanabe
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
ܧଓతΠϯςάϨʔγϣϯͱChatOpsͰ γεςϜ։ൃɾӡ༻ΛՄࢹԽ ߹ಉձࣾ decr දࣾһ ลҰ(@kaz_29)
Slide 2
Slide 2 text
WHO? ߹ಉձࣾ decr දࣾһ WebΞϓϦέʔγϣϯͷ։ൃɺ iOSΞϓϦέʔγϣϯͷ։ൃɺ ΫϥυΠϯϑϥͷߏஙɾӡ༻
Slide 3
Slide 3 text
ιϑτΣΞ։ൃʹٻΊΒΕ͍ͯ Δͷ ͍ϦϦʔεαΠΫϧ ಈ͘ιϑτΣΞͷڙڅ ՄೳͳݶΓແବΛഉআ νʔϜͷԁͳίϛϡχέʔγϣϯ͕ॏཁ ࣗಈԽՄೳͳͷશͯࣗಈԽ͢Δ
Slide 4
Slide 4 text
ܧଓతΠϯςάϨʔγϣϯ Continuous Integration = CI
Slide 5
Slide 5 text
“ܧଓతΠϯςάϨʔγϣϯɺCIʢӳ: continuous integrationʣͱɺओʹϓϩάϥϚʔͷΞϓϦ έʔγϣϯ࡞࣌ͷ࣭վળೲظͷॖͷͨΊ ͷश׳ͷ͜ͱͰ͋ΔɻΤΫετϦʔϜɾϓϩάϥ ϛϯά (XP) ͷϓϥΫςΟεͷҰͭͰɺڱٛʹϏ ϧυςετɺΠϯεϖΫγϣϯͳͲΛܧଓతʹ ࣮ߦ͍ͯ͘͜͠ͱΛҙຯ͢Δɻ” – Wikipedia
Slide 6
Slide 6 text
Ή͔͍ͣ͠…
Slide 7
Slide 7 text
ܧଓతΠϯςάϨʔγϣϯ ඞਢ݅
Slide 8
Slide 8 text
ܧଓతΠϯςάϨʔγϣϯ ඞਢ݅ - VCS όʔδϣϯཧγεςϜ(VCS)ͷಋೖඞਢʂ ෳͷόʔδϣϯΛखಈͰཧ͢Δ͜ͱෆՄೳ git/mercurialͳͲͷࢄܕ͕͓͢͢Ί GitHub/BitbucketͳͲͷαʔϏεΛར༻͢Δ͜ͱͰཧ ίετΛݮ
Slide 9
Slide 9 text
ܧଓతΠϯςάϨʔγϣϯ ඞਢ݅ - CIπʔϧ ܧଓతΠϯςάϨʔγϣϯπʔϧ αʔόʔΠϯετʔϧܕ SaaSܕ …
Slide 10
Slide 10 text
ܧଓతΠϯςάϨʔγϣϯ ඞਢ݅ - ςετʂ ࣗಈԽ͞Εͨςετ UnitTest ίʔυΧόϨοδ डೖςετ Selenium behat(BDD Story Test) - http://behat.org Codeception - http://codeception.com/
Slide 11
Slide 11 text
ܧଓతΠϯςάϨʔγϣϯ ඞਢ݅ - ௨ Λൃݟͨ͠Β͙͢ʹΒͤΔ ΤϯδχΞ͚ͩͰͳ͘νʔϜશһʹΒͤΔ ͋Δछͷۓுײ͕ੜ·ΕΔ? ͙͢ʹؾͮ͘ɺݟམͱ͞Εͳ͍ϝσΟΞͰ͑Δ ࠷༏ઌͰରԠʂ
Slide 12
Slide 12 text
ܧଓతΠϯςάϨʔγϣϯ ಘΒΕΔϝϦοτ
Slide 13
Slide 13 text
ܧଓతΠϯςάϨʔγϣϯ ಘΒΕΔϝϦοτ ଐਓੑɺґଘͷഉআ ͍ͭͰ ୭Ͱ ؆୯ͳखॱͰ ࣮ߦͰ͖Δ
Slide 14
Slide 14 text
ܧଓతΠϯςάϨʔγϣϯ ಘΒΕΔϝϦοτ ϓϩδΣΫτ։࢝ॳ͔Β܁Γฦ࣮͠ߦ ϏϧυΛࣗಈ࣮ߦ ຖఆ࣮࣌ߦ ιϑτΣΞʹमਖ਼͕ೖΔͨͼ Λૉૣ͘ ൃݟͰ͖Δ
Slide 15
Slide 15 text
ܧଓతΠϯςάϨʔγϣϯ ಘΒΕΔϝϦοτ मਖ਼ίετ ཁٻఆٛ ઃܭ ։ൃ୯ମςετ ݁߹ςετ ϕʔλςετ ެ։ޙ मਖ਼ʹ͔͔Δίετ ૣ͘ݟ͚ͭͯ ૉૣ͘͢ʂ
Slide 16
Slide 16 text
ܧଓతΠϯςάϨʔγϣϯ ಘΒΕΔϝϦοτ ϓϩδΣΫτͷ ঢ়ଶΛѲͰ͖Δ
Slide 17
Slide 17 text
ChatOpsͱʁ
Slide 18
Slide 18 text
ChatOpsͱʁ νϟοτ্ͰίϚϯυΛೖྗ͠λεΫΛ࣮ߦ ιϑτΣΞͷσϓϩΠɺϏϧυͷ࣮ߦɺ λΠϜΧʔυͷଧࠁ…etc ιϑτΣΞ։ൃதͷ༷ʑͳঢ়ଶɾใΛνϟοτ ্ͰՄࢹԽ ίʔυͷCommitɺϏϧυ݁Ռɺࢹ݁ՌɺΤ ϥʔ༰…etc
Slide 19
Slide 19 text
ChatOps ಘΒΕΔϝϦοτ
Slide 20
Slide 20 text
ChatOps ಘΒΕΔϝϦοτ ࠓԿ͕ى͖͍ͯΔ͔ΛνʔϜશһ͕ѲͰ͖Δ ใૢ࡞ΛҰՕॴʹूͰ͖Δ ൃੜ͍ͯ͠Δ͜ͱʹؔ͢ΔٞΛͦͷ··ਐΊΒΕΔ ϞόΠϧͰར༻Ͱ͖Δ
Slide 21
Slide 21 text
ܧଓతΠϯςάϨʔγϣϯ+ChatOps ฐࣾͰͷࣄྫ
Slide 22
Slide 22 text
CI+ChatOps ฐࣾͰͷࣄྫ http://mega-hon.com/
Slide 23
Slide 23 text
CI+ChatOps ฐࣾͰͷࣄྫ VCS crash report ϓϩϏδϣχϯά σϓϩΠ λεΫ/ετʔϦͷཧ CI ΞϓϦ νϟοτγεςϜ ։ൃڥ εςʔδϯά/ϓϩμΫγϣϯڥ I love Ubuntu
Slide 24
Slide 24 text
CI+ChatOps ฐࣾͰͷࣄྫ - ։ൃڥ ։ൃڥ εςʔδϯά/ϓϩμΫγϣϯڥ ϓϩϏδϣχϯά
Slide 25
Slide 25 text
CI+ChatOps ฐࣾͰͷࣄྫ - ࡞ۀͷྲྀΕ ίʔυΛίϛοτ [finish #ετʔϦʔ൪߸] ίϛοτΛ௨ ετʔϦΛด͡Δ ετʔϦʹίϝϯτΛ͚ͭΔ ετʔϦͷ ঢ়ଶΛ௨
Slide 26
Slide 26 text
CI+ChatOps ฐࣾͰͷࣄྫ - ࡞ۀͷྲྀΕ
Slide 27
Slide 27 text
CI+ChatOps ฐࣾͰͷࣄྫ - ࡞ۀͷྲྀΕ PRΛ࡞ PRΛ௨ PRΛ௨ ϏϧυΛࣗಈ࣮ߦ ςετ։࢝/݁ՌΛίϝϯτ ςετ݁ՌΛ ௨
Slide 28
Slide 28 text
CI+ChatOps ฐࣾͰͷࣄྫ - ࡞ۀͷྲྀΕ
Slide 29
Slide 29 text
CI+ChatOps ฐࣾͰͷࣄྫ - ࡞ۀͷྲྀΕ
Slide 30
Slide 30 text
CI+ChatOps ฐࣾͰͷࣄྫ - ࡞ۀͷྲྀΕ
Slide 31
Slide 31 text
CI+ChatOps ฐࣾͰͷࣄྫ - σϓϩΠ chat γεςϜ ίϚϯυೖྗ @megahon-bot deploy to staging σϓϩΠ݁Ռ HuBot ίϚϯυड৴ σϓϩΠॲཧىಈ
Slide 32
Slide 32 text
CI+ChatOps ฐࣾͰͷࣄྫ - σϓϩΠ
Slide 33
Slide 33 text
CI+ChatOps ฐࣾͰͷࣄྫ - ΞϓϦͷঢ়ଶ௨ chat γεςϜ ΞϓϦͷঢ়ଶ
Slide 34
Slide 34 text
CI+ChatOps ฐࣾͰͷࣄྫ - ΞϓϦͷঢ়ଶ௨
Slide 35
Slide 35 text
CI+ChatOps ฐࣾͰͷࣄྫ - ͦͷଞ chat γεςϜ ΫϥογϡϨϙʔτ
Slide 36
Slide 36 text
CI+ChatOps ฐࣾͰͷࣄྫ - ͦͷଞ
Slide 37
Slide 37 text
·ͱΊ
Slide 38
Slide 38 text
CI + ChatOps Λૉૣ͘ൃݟ ϓϩδΣΫτͷঢ়ଶΛՄࢹԽ νʔϜͷίϛϡχέʔγϣϯͷԁԽ
Slide 39
Slide 39 text
ϩʔϚ̍ʹ ͯ͠Βͣ
Slide 40
Slide 40 text
$*$IBU0QTͰ ҆৺ͯ͠εϐʔσΟʔʹ ։ൃΛਐΊ·͠ΐ͏ʂ Fin
Slide 41
Slide 41 text
͓·͚ ॻళϒʔεͰ ઈࢍൢചதʂ 13:30ʙαΠϯձ͋ΔΑ(><)