Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
CircleCIを導入した話
Search
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
180
ベンチャー企業のインフラを運用して学んだ99のこと
urmot
0
1.4k
Other Decks in Technology
See All in Technology
「今盗んで、後で解く」に備える ― AWSのポスト量子暗号入門
yama3133
2
280
【データ横丁主催】AI Agentがコンテキストを使って仕事をした後、何が残るのか― 組織の経験を次の判断に引き継ぐ「Agent Memory」
shisyu_gaku
2
290
猫でもわかるKiro Web
kentapapa
1
160
AWS DevOps Agent スキルをつかいこなそう / Master AWS DevOps Agent Skills
kinunori
2
640
1人アドミンな私はAWSアカウント申請をSlackで完結したい!
ysuzuki
0
100
行動するAIのためのオントロジー | DevRev — Encraft #26.pdf
dvrv_tknrszk
1
620
The seven pitfalls of AI (revised version)
ufried
0
140
形式手法を使って仕様をコーディングしよう
mikanichinose
0
150
可視化から始めたAI駆動開発_ochi_ver1.01 / AI-Driven Development Starting with Visualization_ver1.01
yayoi_dd
0
110
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
16
120k
2026-09-26 Platform Engineering Kaigi 2026 インフラとアプリの境界線と委譲の設計 / Drawing the Infra and App Line
masasuzu
0
510
AIエージェントを安全で速い現場監督にする:Jev・Obsidian・メタハーネス
x5gtrn
PRO
0
140
Featured
See All Featured
Statistics for Hackers
jakevdp
799
230k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
WENDY [Excerpt]
tessaabrams
14
40k
WCS-LA-2024
lcolladotor
0
840
Odyssey Design
rkendrick25
PRO
2
850
We Are The Robots
honzajavorek
0
380
Color Theory Basics | Prateek | Gurzu
gurzu
1
480
Designing Powerful Visuals for Engaging Learning
tmiket
1
580
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
840
Unsuck your backbone
ammeep
672
58k
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ͰղܾͰ͖Δ • ఏҊͯࣗ͠Ͱղܾ͢Δͷ͕͖ͳਓੋඇϨόϨδʔζ ʹདྷ͍ͯͩ͘͞