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
CircleCIを導入した話
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
urmot
January 25, 2019
Technology
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CircleCIを導入した話
urmot
January 25, 2019
More Decks by urmot
See All by urmot
DDDにおける認可の扱いとKotlinにおける実装パターン / authorization-for-ddd-and-kotlin-implement-pattern
urmot
4
1.9k
ログラスを支える設計標準について / loglass-design-standards
urmot
12
3k
ログラスを支える技術的投資の仕組み / loglass-technical-investment
urmot
10
6.3k
実践!CloudFormation Best Practice ~CloudFormationで始める組織改革~
urmot
2
3.6k
SPA on AWS
urmot
0
250
実践!CloudFormation Best Practice
urmot
0
310
RDBのログを取る時にDMSを使うという選択肢
urmot
0
170
ベンチャー企業のインフラを運用して学んだ99のこと
urmot
0
1.4k
Other Decks in Technology
See All in Technology
多層防御と最⼩権限で実現する、安全なAIエージェント設計パターン
lycorptech_jp
PRO
0
100
AI時代におけるプロダクト横断勉強会の設計
zozotech
PRO
0
150
Claude Codeの体系的な理解と知識のフック
oikon48
10
6.6k
Azure Cost Management の FOCUS コストデータを迷わず読むための“3つの軸”
tetsuyaooooo
0
140
Guerilla InnerSource in enterprises, during the AI hype
onenashev
PRO
0
140
AIとペアプロを始める。人とのペアプロをやめる。ペアプロの良さを改めて知る。もっと好きになった。 / Rediscovering Pair Programming
honyanya
1
190
リージョンの壁を越える、 ちょっと変わったAWSサービスの話
falken
PRO
0
200
PM領域でのAI Agentの活用
lycorptech_jp
PRO
0
260
Hub & Spoke 環境のネットワークルーティングを分解してみる
tsuyataku
1
520
Level Up Your CDK DX: 5 Tools I’ve Been Building
gotok365
2
190
Instana&Bob トラブルシュートハンズオン
mayamasaki68
0
110
Where Is JetBrains AI Heading- — Central CLI, Air Alpha, and the Agentic Development Stack
x5gtrn
PRO
0
120
Featured
See All Featured
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
450
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.9k
Building an army of robots
kneath
306
46k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Music & Morning Musume
bryan
47
7.4k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
370
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
260
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Transcript
CircleCIΛಋೖͨ͠ ϝσΟΧϧࣄۀ෦ اը։ൃνʔϜ ଜຊ ༤ଠ
Agenda 1. എܠ) Background 2. ௐࠪ) Study 3. ߏ) Architecture
4. ·ͱΊ) Summary
എܠ
എܠ • ϝσΟΧϧࣄۀ෦ ϦχϡʔΞϧνʔϜ • ։ൃऀ: 1ਓɺΤϯδχΞ: 13ਓ • ׂ͝ͱʹϦϙδτϦΛ͚͍ͯΔ(90ݸ͘Β͍)
• privateͳϥΠϒϥϦɺpackage৴αʔόΛΦϯ ϓϨ্ʹཱͯͯ৴͍ͯ͠Δ(satisαʔό) • ఆظతʹεςʔδϯάʹσϓϩΠ • εςʔδϯάσϓϩΠޙɺςελʔ͞Μ͕ಈ࡞֬ೝ
CIಋೖલͷσϓϩΠϑϩʔ ΤϯδχΞ ऀ ᶃ Create Pull Request ᶅ ఆظతʹdev ->
master ᶄ PRग़ͨ͠Αʔ σϓϩΠαʔό ᶆ ssh Deployer ᶈ deploy ᶇ Run deployment ᶈ Wait deployment ᶉ Finish deployment ᶊ exit ᶋ σϓϩΠ௨ Staging VPC ςελʔ
1. ऀ͕σϓϩΠ͢Δ·ͰεςʔδϯάαʔόͰಈ࡞֬ ೝΛߦ͑ͳ͍ 2. εςʔδϯάαʔόͷσϓϩΠʹऀͷ͕࣌ؒऔΒΕ ͯ͠·͏ 3. σϓϩΠ͢ΔࡍʹɺॳาతͳΤϥʔʹૺ۰͢Δ͜ͱ͕Կ ͔͋Δ
CIπʔϧΛಋೖͯ͠σϓϩΠΛࣗಈԽʂʂ
ௐࠪ
CIπʔϧൺֱ • Jenkins • TravisCI • CircleCI • Wercker •
AWS CodePipeline • etc…
Jenkins • ϝϦοτ • ֦ுੑ͕ߴ͘ɺͳΜͰͰ͖Δ • ΦϯϓϨ্ʹߏங͢ΔͨΊɺIP͕ݻఆ • هࣄ๛ •
σϝϦοτ • αʔόΛ༻ҙ͢Δඞཁ͕͋ΔͨΊอकɾӡ༻͕ඞཁ • ຊ൪ΛؚΊϫʔΫϑϩʔʹΈࠐΉͨΊɺಋೖܭըతʹߦ͏ ඞཁ͕͋Δ • ཧΛଵΔͱJobͷৄࡉ͕࡞ͬͨਓ͔͠Θ͔Βͳ͘ͳͬͯ͠·͏
Jenkins • ϝϦοτ • ֦ுੑ͕ߴ͘ɺͳΜͰͰ͖Δ • ΦϯϓϨ্ʹߏங͢ΔͨΊɺIP͕ݻఆ • هࣄ๛ •
σϝϦοτ • αʔόΛ༻ҙ͢Δඞཁ͕͋ΔͨΊอकɾӡ༻͕ඞཁ • ຊ൪ΛؚΊϫʔΫϑϩʔʹΈࠐΉͨΊɺಋೖܭըతʹߦ͏ ඞཁ͕͋Δ • ཧΛଵΔͱJobͷৄࡉ͕࡞ͬͨਓ͔͠Θ͔Βͳ͘ͳͬͯ͠·͏
TravisCI • ϝϦοτ • CloudͰ͋ΔͨΊɺαʔόͷཧɾӡ༻ෆཁ • GithubͱͷੑߴΊ • هࣄ๛ •
σϝϦοτ • ίϯςφʹsshͰೖΕͳ͍ͷͰσόοά͠ʹ͍͘ • $129͕͔͔ΔͨΊɺCIΛ͡Ίͯಋೖ͢ΔࡍʹఏҊ͠ʹ͍͘ • CloudͳͷͰϏϧυͷʹIP͕มΘΔ
TravisCI • ϝϦοτ • CloudͰ͋ΔͨΊɺαʔόͷཧɾӡ༻ෆཁ • GithubͱͷੑߴΊ • هࣄ๛ •
σϝϦοτ • ίϯςφʹsshͰೖΕͳ͍ͷͰσόοά͠ʹ͍͘ • $129͕͔͔ΔͨΊɺCIΛ͡Ίͯಋೖ͢ΔࡍʹఏҊ͠ʹ͍͘ • CloudͳͷͰϏϧυͷʹIP͕มΘΔ
CircleCI • ϝϦοτ • CloudͰ͋ΔͨΊɺαʔόͷཧɾӡ༻ෆཁ • αϙʔτ͕खް͍ • هࣄ๛ •
sshͰίϯςφʹೖΕΔͷͰɺσόοά͍͢͠ • ແྉͰ͍࢝ΊΒΕΔ • σϝϦοτ • ClouldͳͷͰϏϧυͷʹຖճIP͕มΘΔ
CircleCI • ϝϦοτ • CloudͰ͋ΔͨΊɺαʔόͷཧɾӡ༻ෆཁ • αϙʔτ͕खް͍ • هࣄ๛ •
sshͰίϯςφʹೖΕΔͷͰɺσόοά͍͢͠ • ແྉͰ͍࢝ΊΒΕΔ • σϝϦοτ • ClouldͳͷͰϏϧυͷʹຖճIP͕มΘΔ
ߏ
CircleCIಋೖޙͷσϓϩΠϑϩʔ σϓϩΠαʔό Deployer Staging VPC ςετ & σϓϩΠ ΤϯδχΞ ऀ
ᶃ Create Pull Request ᶅ Merge ᶄ PRग़ͨ͠Αʔ ᶆ CI Build Start ᶋ ௨ ςελʔ ᶇ ᶈ Run Deployer ᶊ Finish Deploy ᶉ deploy
݁Ռ • ऀ͕σϓϩΠʹ࣌ؒΛऔΒΕͳͯ͘ࡁΉΑ͏ʹͳͬ ͨ • σϓϩΠલʹςετΛΒͤΔ͜ͱͰɺখ͍͞όάΛσ ϓϩΠલʹൃݟ͢Δ͜ͱ͕Ͱ͖ΔΑ͏ʹͳͬͨ (CI) • ఆظతʹσϓϩΠ͍ͯͨ͠ͷ͕ɺ1ճͷϚʔδͰܧଓత
ʹසൟʹσϓϩΠͰ͖ΔΑ͏ʹͳͬͨ (CD)
·ͱΊ
͔͑ͨͬͨ͜ͱ • CIͷಋೖͷΑ͏ͳվળ͕·ͩ·ͩ͋Δ • ੵۃతʹఏҊ͢Δ͜ͱͰɺ৽ଔ1ͰղܾͰ͖Δ • ఏҊͯࣗ͠Ͱղܾ͢Δͷ͕͖ͳਓੋඇϨόϨδʔζ ʹདྷ͍ͯͩ͘͞