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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kaz Watanabe
May 30, 2015
Programming
2
5.9k
継続的インテグレーションとChatOpsでシステム開発・運用を効率化
Kaz Watanabe
May 30, 2015
Tweet
Share
More Decks by Kaz Watanabe
See All by Kaz Watanabe
Greenは本当にGreenか? - B/GデプロイとAPI自動テストで安心デプロイ
kaz29
1
160
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
1
460
開発エンジニアが実践するDevSecOps
kaz29
0
140
PHPCon福岡2024-Azureもなかなかいいですよ.pdf
kaz29
2
320
Azure Container Apps + Bicep 〜 こんな感じで運用しています
kaz29
3
1.2k
20220908_フロントエンドパフォーマンス改善.pdf
kaz29
2
180
PHP製のPodCast配信用WebアプリをReact+Next.jsなSSGで作り直してみた話
kaz29
3
690
バックエンドエンジニアの私がお勧めする SPAフロントエンド開発環境
kaz29
6
6.2k
201909-PHPCon北海道-PHPでCI_CD.pdf
kaz29
0
4k
Other Decks in Programming
See All in Programming
AWS re:Invent 2025参加 直前 Seattle-Tacoma Airport(SEA)におけるハードウェア紛失インシデントLT
tetutetu214
2
120
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
4k
高速開発のためのコード整理術
sutetotanuki
1
410
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
150
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
150
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
200
並行開発のためのコードレビュー
miyukiw
1
1.3k
AI時代の認知負荷との向き合い方
optfit
0
170
NetBSD+Raspberry Piで 本物のPSGを鳴らすデモを OSC駆動の7日間で作った話 / OSC2026Osaka
tsutsui
1
100
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
1
250
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
2.5k
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2.4k
Featured
See All Featured
Odyssey Design
rkendrick25
PRO
1
500
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
117
110k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.7k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
Color Theory Basics | Prateek | Gurzu
gurzu
0
200
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
Crafting Experiences
bethany
1
55
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1.1k
Building Applications with DynamoDB
mza
96
6.9k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
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ʙαΠϯձ͋ΔΑ(><)