Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CI/CD がなかった会社で勝手に CI/CD を始めた話 (仮)
Search
森井ゴンザレス
August 05, 2019
Programming
0
180
CI/CD がなかった会社で勝手に CI/CD を始めた話 (仮)
勤務先を CircleCI 中毒にした軌跡
森井ゴンザレス
August 05, 2019
Tweet
Share
More Decks by 森井ゴンザレス
See All by 森井ゴンザレス
Product Manager の Job Description
morygonzalez
3
2.7k
Rails application development in API era
morygonzalez
0
540
Lokka についての LT
morygonzalez
0
400
BitBar で快適な生活
morygonzalez
1
3.7k
君も Arel おじさんになって ActiveRecord のクエリを高速化しよう / Let's become Uncle Arel
morygonzalez
1
300
gyowitter のご紹介
morygonzalez
0
34k
Other Decks in Programming
See All in Programming
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
0
110
GeistFabrik and AI-augmented software development
adewale
PRO
0
240
Reactive Thinking with Signals and the new Resource API
manfredsteyer
PRO
0
160
WebRTC と Rust と8K 60fps
tnoho
2
1.9k
Google Antigravity and Vibe Coding: Agentic Development Guide
mickey_kubo
2
130
【Streamlit x Snowflake】データ基盤からアプリ開発・AI活用まで、すべてをSnowflake内で実現
ayumu_yamaguchi
1
110
Combinatorial Interview Problems with Backtracking Solutions - From Imperative Procedural Programming to Declarative Functional Programming - Part 1
philipschwarz
PRO
0
120
配送計画の均等化機能を提供する取り組みについて(⽩⾦鉱業 Meetup Vol.21@六本⽊(数理最適化編))
izu_nori
0
120
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
170
Herb to ReActionView: A New Foundation for the View Layer @ San Francisco Ruby Conference 2025
marcoroth
0
240
Media Capture and Streams: W3C仕様と現場での知見
nowaki28
0
130
これだけで丸わかり!LangChain v1.0 アップデートまとめ
os1ma
6
1.3k
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
We Have a Design System, Now What?
morganepeng
54
7.9k
Six Lessons from altMBA
skipperchong
29
4.1k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Producing Creativity
orderedlist
PRO
348
40k
Designing Experiences People Love
moore
142
24k
The Language of Interfaces
destraynor
162
25k
How to Think Like a Performance Engineer
csswizardry
28
2.3k
Why Our Code Smells
bkeepers
PRO
340
57k
Transcript
CI/CD ͕ͳ͔ͬͨձࣾͰউ खʹ CI/CD Λ࢝Ίͨ (Ծ) σϓϩΠ͠night in Ԭ @morygonzalez
ࣗݾհ • YAMAP ͰαʔόʔαΠυΤϯδχΞ => ࡢ Product Manager ʹδϣ ϒνΣϯδ
• Ruby on Rails Ͱ API Λ࡞ΔࣄΛ 8 ͘Β͍ • Ruby Ͱ࡞ΒΕͨ WordPress Ϋϩʔϯͷ Lokka ͷϝϯςφϯεΛࡉʑͱ • CI ྺ • Jenkins ྺ 3 • CircleCI ྺ 3 • Werker Travis গʑ
ࠓͷൃදʹ͍ͭͯ ͡ΌΜ͡ΌΜ CI/CD ͬͯΔํʹ͍༰͔͠ Εͳ͍Ͱ͢ !
CircleCI ͱͷग़ձ͍ • લͷ৬ • ԿͰ CircleCI ͰߦΘΕ͍ͯ ͨ •
Ϣχοτςετ • E2E • Produc0on αʔόʔͷ ιʔείʔυͷσϓϩΠ • AWS Πϯϑϥͷߏங • AWS ΠϯϑϥͷϓϩϏ δϣχϯά
ͳΜͰ CI ͰΔ͜ͱͷྑ͞ • ࣮ߦཤྺ͕Δ • σϓϩΠঢ়گͷՄࢹԽ • ϦϞʔτϫʔΫͩͬͨͨΊɺσϓϩΠϑϩʔͷՄࢹԽ͕ॏཁ •
୭ͰσϓϩΠՄೳʹ • CI ͔ΒσϓϩΠͰ͖Δ ≒ ଐਓੑͷഉআ • ʮ◦◦͞Μͷύιίϯ͔Β͔͠σϓϩΠͰ͖ͳ͍ʯΛͳ͘͢ • ൿͷλϨΛιʔείʔυԽ • ৽ೖࣾһೖࣾޙͰσϓϩΠՄೳʹ
Ͳ͏࢝Ί͔ͨ • YAMAP ʹೖࣾ࣌ɺ·ͩςετ͕ճΔΈ ܧଓతͳσϓϩΠڥͳ͔ͬͨ • উखʹ CI ͨ͠Γ CD
͢ΔΑ͏ʹ • CircleCI ϓϥΠϕʔτϦϙδτϦͰδϣϒҰ ͭ·ͰແྉͳͷͰήϦϥతͳ CI/CD Λ࢝Ί͢ ͍
ͬͱΔײͮ͘Γ • ͱʹ͔͘ςετΛॻ͖ɺ CI Λ࣮ߦ͠ɺ݁ՌΛ Slack ʹ௨͢Δ • ͍͠ͱ͜ΖંͬͯͰɺͱʹ͔͘ Git
Ϧ ϙδτϦʹίʔυ͕ϓογϡ͞ΕΔͱ CI ͕ߦΘ Εɺ Slack ʹ݁Ռ͕௨͞ΕΔΈΛ࡞Δ • ʮͳΜ͔Α͏Θ͔ΒΜ͚ͲͬͱΔײʯͷৢ
Keep Green • ͕ࣗมߋ͢ΔՕॴ͚ͩඞͣςετίʔυΛ ηοτͰॻ͘Α͏ʹ͢Δ • άϦʔϯͳঢ়ଶΛҡ࣋͢Δ • ͦ͏͜͏͍ͯ͠Δ͏ͪʹଞͷਓ͕ग़ͨ͠ Pull
Request ͰϏϧυ͕ίέΔ • όά͕ະવʹ͛ͨ͜ͱΛ৮ΕճΔ
σϓϩΠΛࣗಈԽ͢Δ • master ϒϥϯνʹରͯ͠ग़͞Εͨ Pull Request ͕ Merge ͞ΕΔ •
CircleCI Ͱςετ͕࣮ߦ͞ΕΔ • ςετ͕ޭ͢Δͱ CircleCI ্͔ΒσϓϩΠ͕ߦΘΕΔ
API doc ੜΛࣗಈԽ͢Δ • CircleCI ্Ͱࣗಈੜ͞Εͨ API υΩϡϝϯτΛ GitHub ʹϓογϡ
Chat ops ͱΈ߹Θ ͤΔ 1. Hubot ʹ͔͚͠Δ 2. Hubot ͕
deploy ༻ͷ Pull Request ࡞Δ 3. Pull Request Λ Merge 4. CircleCI ͔ΒσϓϩΠ։࢝
৬Λ CircleCI ґଘ ʹ • ۀϑϩʔʹ CI ΛΈࠐΈɺ ৬Λ CircleCI
தಟʹͯ͠͠ ·͏
ݱࡏͷฐࣾ • ιʔείʔυ͔ΒυΩϡϝϯ τΛࣗಈੜ͠ S3 ʹอଘ • ϞόΠϧΞϓͷϦϦʔεϏϧ υͷ࡞ͱ App
Store ͷਃ ΛࣗಈԽ • AWS SSM Λͬͨݕূڥ ͷࣗಈσϓϩΠ • …
CI/CD ͡ΊΔͷʹ͏͚ͬͯͭ • Docker ͷීٴͰɺεΫϦϓτݴޠͰϏϧυͷϓ ϩηε͕ൃੜ • ΫϥυϦιʔε͕҆ՁʹͳΓɺ Blue-Green Deployment
͕͓खܰʹ • ͓ۈΊઌΛ CI தಟʹ͍͖ͯ͠·͠ΐ͏