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
CI/CD がなかった会社で勝手に CI/CD を始めた話 (仮)
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
森井ゴンザレス
August 05, 2019
Programming
200
0
Share
CI/CD がなかった会社で勝手に CI/CD を始めた話 (仮)
勤務先を CircleCI 中毒にした軌跡
森井ゴンザレス
August 05, 2019
More Decks by 森井ゴンザレス
See All by 森井ゴンザレス
Product Manager の Job Description
morygonzalez
3
2.8k
Rails application development in API era
morygonzalez
0
570
Lokka についての LT
morygonzalez
0
450
BitBar で快適な生活
morygonzalez
1
3.9k
君も Arel おじさんになって ActiveRecord のクエリを高速化しよう / Let's become Uncle Arel
morygonzalez
1
320
gyowitter のご紹介
morygonzalez
0
34k
Other Decks in Programming
See All in Programming
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.5k
3Dシーンの圧縮
fadis
1
650
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
340
GitHub Copilot CLIのいいところ
htkym
2
1.3k
AutonomyとControlのあいだ:Graflowで記述するAIエージェント協調
myui
0
110
CLIであることを活かしたGitHub Copilot CLI活用術 / GitHub Copilot CLI Pro Tips & Tricks
nao_mk2
1
1.2k
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.2k
The NotImplementedError Problem in Ruby
koic
1
590
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
120
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
190
並列実装の現場、2ヶ月間実務でAIを使い倒したAIもPCも私も限界が近い
ming_ayami
0
110
TAKTでAI駆動開発の品質を設計する
j5ik2o
6
920
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
698
190k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
380
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
440
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
210
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
We Are The Robots
honzajavorek
0
240
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
200
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
300
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
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 தಟʹ͍͖ͯ͠·͠ΐ͏