ܧଓతΠϯςάϨʔγϣϯͱChatOpsͰγεςϜ։ൃɾӡ༻ΛՄࢹԽ߹ಉձࣾ decr දࣾһลҰ(@kaz_29)
View Slide
WHO?߹ಉձࣾ decrදࣾһWebΞϓϦέʔγϣϯͷ։ൃɺiOSΞϓϦέʔγϣϯͷ։ൃɺΫϥυΠϯϑϥͷߏஙɾӡ༻
ιϑτΣΞ։ൃʹٻΊΒΕ͍ͯΔͷ͍ϦϦʔεαΠΫϧಈ͘ιϑτΣΞͷڙڅՄೳͳݶΓແବΛഉআνʔϜͷԁͳίϛϡχέʔγϣϯ͕ॏཁࣗಈԽՄೳͳͷશͯࣗಈԽ͢Δ
ܧଓతΠϯςάϨʔγϣϯContinuous Integration = CI
“ܧଓతΠϯςάϨʔγϣϯɺCIʢӳ: continuousintegrationʣͱɺओʹϓϩάϥϚʔͷΞϓϦέʔγϣϯ࡞࣌ͷ࣭վળೲظͷॖͷͨΊͷश׳ͷ͜ͱͰ͋ΔɻΤΫετϦʔϜɾϓϩάϥϛϯά (XP) ͷϓϥΫςΟεͷҰͭͰɺڱٛʹϏϧυςετɺΠϯεϖΫγϣϯͳͲΛܧଓతʹ࣮ߦ͍ͯ͘͜͠ͱΛҙຯ͢Δɻ”– Wikipedia
Ή͔͍ͣ͠…
ܧଓతΠϯςάϨʔγϣϯඞਢ݅
ܧଓతΠϯςάϨʔγϣϯඞਢ݅ - VCSόʔδϣϯཧγεςϜ(VCS)ͷಋೖඞਢʂෳͷόʔδϣϯΛखಈͰཧ͢Δ͜ͱෆՄೳgit/mercurialͳͲͷࢄܕ͕͓͢͢ΊGitHub/BitbucketͳͲͷαʔϏεΛར༻͢Δ͜ͱͰཧίετΛݮ
ܧଓతΠϯςάϨʔγϣϯඞਢ݅ - CIπʔϧܧଓతΠϯςάϨʔγϣϯπʔϧαʔόʔΠϯετʔϧܕ SaaSܕ…
ܧଓతΠϯςάϨʔγϣϯඞਢ݅ - ςετʂࣗಈԽ͞ΕͨςετUnitTestίʔυΧόϨοδडೖςετSeleniumbehat(BDD Story Test) - http://behat.orgCodeception - http://codeception.com/
ܧଓతΠϯςάϨʔγϣϯඞਢ݅ - ௨Λൃݟͨ͠Β͙͢ʹΒͤΔΤϯδχΞ͚ͩͰͳ͘νʔϜશһʹΒͤΔ͋Δछͷۓுײ͕ੜ·ΕΔ?͙͢ʹؾͮ͘ɺݟམͱ͞Εͳ͍ϝσΟΞͰ͑Δ࠷༏ઌͰରԠʂ
ܧଓతΠϯςάϨʔγϣϯಘΒΕΔϝϦοτ
ܧଓతΠϯςάϨʔγϣϯಘΒΕΔϝϦοτଐਓੑɺґଘͷഉআ͍ͭͰ୭Ͱ؆୯ͳखॱͰ࣮ߦͰ͖Δ
ܧଓతΠϯςάϨʔγϣϯಘΒΕΔϝϦοτϓϩδΣΫτ։࢝ॳ͔Β܁Γฦ࣮͠ߦϏϧυΛࣗಈ࣮ߦຖఆ࣮࣌ߦιϑτΣΞʹमਖ਼͕ೖΔͨͼΛૉૣ͘ൃݟͰ͖Δ
ܧଓతΠϯςάϨʔγϣϯಘΒΕΔϝϦοτमਖ਼ίετཁٻఆٛ ઃܭ ։ൃ୯ମςετ ݁߹ςετ ϕʔλςετ ެ։ޙमਖ਼ʹ͔͔Δίετૣ͘ݟ͚ͭͯૉૣ͘͢ʂ
ܧଓతΠϯςάϨʔγϣϯಘΒΕΔϝϦοτϓϩδΣΫτͷঢ়ଶΛѲͰ͖Δ
ChatOpsͱʁ
ChatOpsͱʁνϟοτ্ͰίϚϯυΛೖྗ͠λεΫΛ࣮ߦιϑτΣΞͷσϓϩΠɺϏϧυͷ࣮ߦɺλΠϜΧʔυͷଧࠁ…etcιϑτΣΞ։ൃதͷ༷ʑͳঢ়ଶɾใΛνϟοτ্ͰՄࢹԽίʔυͷCommitɺϏϧυ݁Ռɺࢹ݁ՌɺΤϥʔ༰…etc
ChatOpsಘΒΕΔϝϦοτ
ChatOpsಘΒΕΔϝϦοτࠓԿ͕ى͖͍ͯΔ͔ΛνʔϜશһ͕ѲͰ͖Δใૢ࡞ΛҰՕॴʹूͰ͖Δൃੜ͍ͯ͠Δ͜ͱʹؔ͢ΔٞΛͦͷ··ਐΊΒΕΔϞόΠϧͰར༻Ͱ͖Δ
ܧଓతΠϯςάϨʔγϣϯ+ChatOpsฐࣾͰͷࣄྫ
CI+ChatOpsฐࣾͰͷࣄྫhttp://mega-hon.com/
CI+ChatOpsฐࣾͰͷࣄྫVCScrash reportϓϩϏδϣχϯάσϓϩΠλεΫ/ετʔϦͷཧCIΞϓϦνϟοτγεςϜ։ൃڥεςʔδϯά/ϓϩμΫγϣϯڥI love Ubuntu
CI+ChatOpsฐࣾͰͷࣄྫ - ։ൃڥ։ൃڥ εςʔδϯά/ϓϩμΫγϣϯڥϓϩϏδϣχϯά
CI+ChatOpsฐࣾͰͷࣄྫ - ࡞ۀͷྲྀΕίʔυΛίϛοτ[finish #ετʔϦʔ൪߸]ίϛοτΛ௨ετʔϦΛด͡ΔετʔϦʹίϝϯτΛ͚ͭΔετʔϦͷঢ়ଶΛ௨
CI+ChatOpsฐࣾͰͷࣄྫ - ࡞ۀͷྲྀΕ
CI+ChatOpsฐࣾͰͷࣄྫ - ࡞ۀͷྲྀΕPRΛ࡞PRΛ௨PRΛ௨ϏϧυΛࣗಈ࣮ߦςετ։࢝/݁ՌΛίϝϯτςετ݁ՌΛ௨
CI+ChatOpsฐࣾͰͷࣄྫ - σϓϩΠchat γεςϜίϚϯυೖྗ@megahon-bot deploy to stagingσϓϩΠ݁ՌHuBotίϚϯυड৴σϓϩΠॲཧىಈ
CI+ChatOpsฐࣾͰͷࣄྫ - σϓϩΠ
CI+ChatOpsฐࣾͰͷࣄྫ - ΞϓϦͷঢ়ଶ௨chat γεςϜΞϓϦͷঢ়ଶ
CI+ChatOpsฐࣾͰͷࣄྫ - ΞϓϦͷঢ়ଶ௨
CI+ChatOpsฐࣾͰͷࣄྫ - ͦͷଞchat γεςϜΫϥογϡϨϙʔτ
CI+ChatOpsฐࣾͰͷࣄྫ - ͦͷଞ
·ͱΊ
CI + ChatOpsΛૉૣ͘ൃݟϓϩδΣΫτͷঢ়ଶΛՄࢹԽνʔϜͷίϛϡχέʔγϣϯͷԁԽ
ϩʔϚ̍ʹͯ͠Βͣ
$*$IBU0QTͰ҆৺ͯ͠εϐʔσΟʔʹ։ൃΛਐΊ·͠ΐ͏ʂFin
͓·͚ॻళϒʔεͰઈࢍൢചதʂ13:30ʙαΠϯձ͋ΔΑ(><)