Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
継続的インテグレーションとChatOpsでシステム開発・運用を効率化
Search
Kaz Watanabe
May 30, 2015
Programming
6k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
継続的インテグレーションとChatOpsでシステム開発・運用を効率化
Kaz Watanabe
May 30, 2015
More Decks by Kaz Watanabe
See All by Kaz Watanabe
開発エンジニアが取り組む DevSecOps ~ GitHub Enterprise × Azure での実践~
kaz29
0
35
Greenは本当にGreenか? - B/GデプロイとAPI自動テストで安心デプロイ
kaz29
1
190
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
1
490
開発エンジニアが実践するDevSecOps
kaz29
0
150
PHPCon福岡2024-Azureもなかなかいいですよ.pdf
kaz29
2
370
Azure Container Apps + Bicep 〜 こんな感じで運用しています
kaz29
3
1.3k
20220908_フロントエンドパフォーマンス改善.pdf
kaz29
2
200
PHP製のPodCast配信用WebアプリをReact+Next.jsなSSGで作り直してみた話
kaz29
3
720
バックエンドエンジニアの私がお勧めする SPAフロントエンド開発環境
kaz29
6
6.3k
Other Decks in Programming
See All in Programming
なぜ型を書くのか? TSKaigi2026で改めて考える #tskaigi_smarthr
kajitack
0
170
Agentic UI
manfredsteyer
PRO
0
200
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
7
1.5k
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
260
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
140
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
370
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
220
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
640
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
350k
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
4
1.5k
Webフレームワークの ベンチマークについて
yusukebe
0
180
Oxcを導入して開発体験が向上した話
yug1224
4
340
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
77
5.4k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
740
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
230
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Building Applications with DynamoDB
mza
96
7.1k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
140
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
400
AI: The stuff that nobody shows you
jnunemaker
PRO
8
740
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
400
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Transcript
ܧଓతΠϯςάϨʔγϣϯͱChatOpsͰ γεςϜ։ൃɾӡ༻ΛՄࢹԽ ߹ಉձࣾ decr දࣾһ ลҰ(@kaz_29)
WHO? ߹ಉձࣾ decr දࣾһ WebΞϓϦέʔγϣϯͷ։ൃɺ iOSΞϓϦέʔγϣϯͷ։ൃɺ ΫϥυΠϯϑϥͷߏஙɾӡ༻
ιϑτΣΞ։ൃʹٻΊΒΕ͍ͯ Δͷ ͍ϦϦʔεαΠΫϧ ಈ͘ιϑτΣΞͷڙڅ ՄೳͳݶΓແବΛഉআ νʔϜͷԁͳίϛϡχέʔγϣϯ͕ॏཁ ࣗಈԽՄೳͳͷશͯࣗಈԽ͢Δ
ܧଓతΠϯςάϨʔγϣϯ Continuous Integration = CI
“ܧଓతΠϯςάϨʔγϣϯɺCIʢӳ: continuous integrationʣͱɺओʹϓϩάϥϚʔͷΞϓϦ έʔγϣϯ࡞࣌ͷ࣭վળೲظͷॖͷͨΊ ͷश׳ͷ͜ͱͰ͋ΔɻΤΫετϦʔϜɾϓϩάϥ ϛϯά (XP) ͷϓϥΫςΟεͷҰͭͰɺڱٛʹϏ ϧυςετɺΠϯεϖΫγϣϯͳͲΛܧଓతʹ ࣮ߦ͍ͯ͘͜͠ͱΛҙຯ͢Δɻ”
– Wikipedia
Ή͔͍ͣ͠…
ܧଓతΠϯςάϨʔγϣϯ ඞਢ݅
ܧଓతΠϯςάϨʔγϣϯ ඞਢ݅ - VCS όʔδϣϯཧγεςϜ(VCS)ͷಋೖඞਢʂ ෳͷόʔδϣϯΛखಈͰཧ͢Δ͜ͱෆՄೳ git/mercurialͳͲͷࢄܕ͕͓͢͢Ί GitHub/BitbucketͳͲͷαʔϏεΛར༻͢Δ͜ͱͰཧ ίετΛݮ
ܧଓతΠϯςάϨʔγϣϯ ඞਢ݅ - CIπʔϧ ܧଓతΠϯςάϨʔγϣϯπʔϧ αʔόʔΠϯετʔϧܕ SaaSܕ …
ܧଓతΠϯςάϨʔγϣϯ ඞਢ݅ - ςετʂ ࣗಈԽ͞Εͨςετ UnitTest ίʔυΧόϨοδ डೖςετ Selenium behat(BDD
Story Test) - http://behat.org Codeception - http://codeception.com/
ܧଓతΠϯςάϨʔγϣϯ ඞਢ݅ - ௨ Λൃݟͨ͠Β͙͢ʹΒͤΔ ΤϯδχΞ͚ͩͰͳ͘νʔϜશһʹΒͤΔ ͋Δछͷۓுײ͕ੜ·ΕΔ? ͙͢ʹؾͮ͘ɺݟམͱ͞Εͳ͍ϝσΟΞͰ͑Δ ࠷༏ઌͰରԠʂ
ܧଓతΠϯςάϨʔγϣϯ ಘΒΕΔϝϦοτ
ܧଓతΠϯςάϨʔγϣϯ ಘΒΕΔϝϦοτ ଐਓੑɺґଘͷഉআ ͍ͭͰ ୭Ͱ ؆୯ͳखॱͰ ࣮ߦͰ͖Δ
ܧଓతΠϯςάϨʔγϣϯ ಘΒΕΔϝϦοτ ϓϩδΣΫτ։࢝ॳ͔Β܁Γฦ࣮͠ߦ ϏϧυΛࣗಈ࣮ߦ ຖఆ࣮࣌ߦ ιϑτΣΞʹमਖ਼͕ೖΔͨͼ Λૉૣ͘ ൃݟͰ͖Δ
ܧଓతΠϯςάϨʔγϣϯ ಘΒΕΔϝϦοτ मਖ਼ίετ ཁٻఆٛ ઃܭ ։ൃ୯ମςετ ݁߹ςετ ϕʔλςετ ެ։ޙ मਖ਼ʹ͔͔Δίετ
ૣ͘ݟ͚ͭͯ ૉૣ͘͢ʂ
ܧଓతΠϯςάϨʔγϣϯ ಘΒΕΔϝϦοτ ϓϩδΣΫτͷ ঢ়ଶΛѲͰ͖Δ
ChatOpsͱʁ
ChatOpsͱʁ νϟοτ্ͰίϚϯυΛೖྗ͠λεΫΛ࣮ߦ ιϑτΣΞͷσϓϩΠɺϏϧυͷ࣮ߦɺ λΠϜΧʔυͷଧࠁ…etc ιϑτΣΞ։ൃதͷ༷ʑͳঢ়ଶɾใΛνϟοτ ্ͰՄࢹԽ ίʔυͷCommitɺϏϧυ݁Ռɺࢹ݁ՌɺΤ ϥʔ༰…etc
ChatOps ಘΒΕΔϝϦοτ
ChatOps ಘΒΕΔϝϦοτ ࠓԿ͕ى͖͍ͯΔ͔ΛνʔϜશһ͕ѲͰ͖Δ ใૢ࡞ΛҰՕॴʹूͰ͖Δ ൃੜ͍ͯ͠Δ͜ͱʹؔ͢ΔٞΛͦͷ··ਐΊΒΕΔ ϞόΠϧͰར༻Ͱ͖Δ
ܧଓతΠϯςάϨʔγϣϯ+ChatOps ฐࣾͰͷࣄྫ
CI+ChatOps ฐࣾͰͷࣄྫ http://mega-hon.com/
CI+ChatOps ฐࣾͰͷࣄྫ VCS crash report ϓϩϏδϣχϯά σϓϩΠ λεΫ/ετʔϦͷཧ CI ΞϓϦ
νϟοτγεςϜ ։ൃڥ εςʔδϯά/ϓϩμΫγϣϯڥ I love Ubuntu
CI+ChatOps ฐࣾͰͷࣄྫ - ։ൃڥ ։ൃڥ εςʔδϯά/ϓϩμΫγϣϯڥ ϓϩϏδϣχϯά
CI+ChatOps ฐࣾͰͷࣄྫ - ࡞ۀͷྲྀΕ ίʔυΛίϛοτ [finish #ετʔϦʔ൪߸] ίϛοτΛ௨ ετʔϦΛด͡Δ ετʔϦʹίϝϯτΛ͚ͭΔ
ετʔϦͷ ঢ়ଶΛ௨
CI+ChatOps ฐࣾͰͷࣄྫ - ࡞ۀͷྲྀΕ
CI+ChatOps ฐࣾͰͷࣄྫ - ࡞ۀͷྲྀΕ PRΛ࡞ PRΛ௨ PRΛ௨ ϏϧυΛࣗಈ࣮ߦ ςετ։࢝/݁ՌΛίϝϯτ ςετ݁ՌΛ
௨
CI+ChatOps ฐࣾͰͷࣄྫ - ࡞ۀͷྲྀΕ
CI+ChatOps ฐࣾͰͷࣄྫ - ࡞ۀͷྲྀΕ
CI+ChatOps ฐࣾͰͷࣄྫ - ࡞ۀͷྲྀΕ
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ʙαΠϯձ͋ΔΑ(><)