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を活用して AWSへの継続的デリバリーを 実践する
Search
coconala_engineer
March 27, 2024
Programming
1
420
CircleCIを活用して AWSへの継続的デリバリーを 実践する
https://trident-qa.connpass.com/event/310009/
のイベントの登壇資料です。
coconala_engineer
March 27, 2024
Tweet
Share
More Decks by coconala_engineer
See All by coconala_engineer
ココナラiOSチームの生成AI利用
coconala_engineer
0
24
AIと向き合う若手エンジニアの責任
coconala_engineer
0
30
GraphQLを活用したリアーキテクチャに対応するSLI/Oの再設計
coconala_engineer
0
300
一番気が重いと言われたポストモーテム委員会の改革
coconala_engineer
0
290
SREの視点で考えるSIEM活用術 〜AWS環境でのセキュリティ強化〜
coconala_engineer
1
370
(みんなやっているはずなのに情報が少ない)DNSレコード管理の改善
coconala_engineer
0
120
クラウド時代のDDoS対策:可用性を守るためのベストプラクティス
coconala_engineer
0
100
「エンジニアマネージャー」の役割を担っている / 担ってみたい方へのキャリアパスガイド
coconala_engineer
1
280
上場前後で描く、「モダンな情報システム部門」への進化とその取り組み
coconala_engineer
0
86
Other Decks in Programming
See All in Programming
Modern Angular with Signals and Signal Store:New Rules for Your Architecture @enterJS Advanced Angular Day 2025
manfredsteyer
PRO
0
200
NPOでのDevinの活用
codeforeveryone
0
780
第9回 情シス転職ミートアップ 株式会社IVRy(アイブリー)の紹介
ivry_presentationmaterials
1
270
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
360
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
330
ふつうの技術スタックでアート作品を作ってみる
akira888
0
440
Quand Symfony, ApiPlatform, OpenAI et LangChain s'allient pour exploiter vos PDF : de la théorie à la production…
ahmedbhs123
0
130
CursorはMCPを使った方が良いぞ
taigakono
1
240
Goで作る、開発・CI環境
sin392
0
210
#kanrk08 / 公開版 PicoRubyとマイコンでの自作トレーニング計測装置を用いたワークアウトの理想と現実
bash0c7
1
690
Systèmes distribués, pour le meilleur et pour le pire - BreizhCamp 2025 - Conférence
slecache
0
120
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
230
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
24
1.7k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
5
250
Art, The Web, and Tiny UX
lynnandtonic
299
21k
It's Worth the Effort
3n
185
28k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
680
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Transcript
Copyright coconala Inc. All Rights Reserved. CircleCIΛ׆༻ͯ͠ AWSͷܧଓతσϦόϦʔΛ ࣮ફ͢Δ ΠϯϑϥɾSREνʔϜ
TeamManager ٢ݟ
Copyright coconala Inc. All Rights Reserved. 2 ࣗݾհ ٢ݟʢΑ͔͠Θ ͨ͘Έʣ
• ੜ·Ε ੩Ԭ → จܥେֶ͔ΒΤϯδχΞ • ܦྺ ۚ༥SIer → ελʔτΞοϓ → ίίφϥ • झຯ ϥΠϒɾΠϕϯτʹߦ͘
Vision Ϗδϣϯɺϛογϣϯʹج͍ͮͨࣄۀΛల։ νʔϜ͕ߏங͍ͨ͠ͱࢥ ͏࠷ྑͳະདྷͷΠϝʔδ νʔϜ͕ߏங͍ͨ͠ͱࢥ ͏࠷ྑͳະདྷͷΠϝʔδ Mission νʔϜ͕࣮ݱ͍ͨ͠த৺ తͳతʢଘࡏҙٛʣ ҰਓͻͱΓ͕ʮࣗͷετʔϦʔʯΛੜ͖͍ͯ͘ੈͷதΛ࡞Δ
ݸਓͷࣝɾεΩϧɾܦݧΛՄࢹԽ͠ɺ ඞཁͱ͢Δͯ͢ͷਓʹ݁ͼ͚ͭɺ ݸਓΛΤϯύϫʔϝϯτ͢ΔϓϥοτϑΥʔϜΛఏڙ͢Δ ࣝɾεΩϧɾܦݧͷϚονϯάαʔϏεΛల։ ࣄۀ༰ 3
ϚονϯάαʔϏε ֓ཁ 4
Copyright coconala Inc. All Rights Reserved. 5 ΞδΣϯμ • CI/CDͱ
◦ ͳͥඞཁͳͷ͔ • CircleCIͷಛ • ίίφϥͰͷར׆༻ ◦ ͪΐͬͱͨ͠ςΫχοΫ
Copyright coconala Inc. All Rights Reserved. 6 CI/CDͱ
Copyright coconala Inc. All Rights Reserved. 7 CI/CDͱ • ݫີʹCIͱCDผͰ͋Δ͕ɺͻͱ͘͘ΓͰઆ໌͞ΕΔ͜ͱ͕ଟ͍
◦ CIɿܧଓతΠϯςάϨʔγϣϯ ◦ CDɿܧଓతσϦόϦʔ
Copyright coconala Inc. All Rights Reserved. 8 CI/CDͱ • ݫີʹCIͱCDผͰ͋Δ͕ɺͻͱ͘͘ΓͰઆ໌͞ΕΔ͜ͱ͕ଟ͍
◦ CIɿܧଓతΠϯςάϨʔγϣϯ ◦ CDɿܧଓతσϦόϦʔ • ͷͬ͘͘͢͟͝ΓҰݴઆ໌͢Δͱ ◦ CIɿࣗಈςετ ◦ CDɿࣗಈσϓϩΠ ɹ→ Ұ࿈ͷྲྀΕʢύΠϓϥΠϯʣ͕͋Δ
Copyright coconala Inc. All Rights Reserved. 9 ͳͥCI/CDύΠϓϥΠϯ͕ ඞཁͳͷ͔
Copyright coconala Inc. All Rights Reserved. 10 ͳͥCI/CDύΠϓϥΠϯΛΉͷ͔
Copyright coconala Inc. All Rights Reserved. 11 ͳͥCI/CDύΠϓϥΠϯΛΉͷ͔ ɾϑΥʔϚοτਖ਼͍͠ʁ ɾςετ͞Ε͍ͯΔʁ
ɾϏϧυͰ͖Δʁ
Copyright coconala Inc. All Rights Reserved. 12 ͳͥCI/CDύΠϓϥΠϯΛΉͷ͔ ɾϑΥʔϚοτਖ਼͍͠ʁ ɾςετ͞Ε͍ͯΔʁ
ɾϏϧυͰ͖Δʁ ։ൃऀϨϏϡΞʔ ෛ୲͕େ͖͍
Copyright coconala Inc. All Rights Reserved. 13 ͳͥCI/CDύΠϓϥΠϯΛΉͷ͔ push͢Δ͚ͩͰࣗಈ࣮ߦ →
݁ՌΛ֬ೝ͢Δ͚ͩͰ OK
Copyright coconala Inc. All Rights Reserved. 14 ͳͥCI/CDύΠϓϥΠϯΛΉͷ͔ • ίʔυ࣭ͷ্
◦ खಈ࡞ۀΛ͕શͯࣗಈԽ͢Δ͜ͱʹΑΔώϡʔϚϯϦεΫɾίετͷݮ ◦ ςετϓϩηεΛ௨͢͜ͱʹΑΔόάͷൃݟ • ϦϦʔεαΠΫϧͷߴԽ ◦ ϝΠϯϒϥϯνͷঢ়ଶͰରڥʹϦϦʔε͞ΕΔ
Copyright coconala Inc. All Rights Reserved. 15 ͳͥCI/CDύΠϓϥΠϯΛΉͷ͔ • ίʔυ࣭ͷ্
◦ खಈ࡞ۀΛ͕શͯࣗಈԽ͢Δ͜ͱʹΑΔώϡʔϚϯϦεΫɾίετͷݮ ◦ ςετϓϩηεΛ௨͢͜ͱʹΑΔόάͷൃݟ • ϦϦʔεαΠΫϧͷߴԽ ◦ ϝΠϯϒϥϯνͷঢ়ଶͰରڥʹϦϦʔε͞ΕΔ ɹ ։ൃੜ࢈ੑͷ্
Copyright coconala Inc. All Rights Reserved. 16 CircleCIͱ
Copyright coconala Inc. All Rights Reserved. 17 ଟछଟ༷ͳCI/CDπʔϧ
Copyright coconala Inc. All Rights Reserved. 18 CircleCIͰओʹͰ͖Δ͜ͱ • ੩తղੳʢLintʣ
• ୯ମςετʢTestʣ • ϦιʔεϏϧυʢBuildʣ • ίʔυͷσϓϩΠʢReleaseʣ etc…
Copyright coconala Inc. All Rights Reserved. 19 CircleCIͷಛ 1. ΫϥυαʔϏεͷͨΊ࣮ߦڥΛཧ͢Δඞཁ͕ͳ͍
• ࣗಈϏϧυɺςετΛ࣮ߦ͢ΔͨΊʹαʔόΛ༻ҙ͢Δඞཁͳ͍ ◦ ઃఆϑΝΠϧΛهड़͢Εɺ࣮ߦ͞ΕΔΑ͏ʹͳΔ • ͨͩ͠ηΩϡϦςΟͷ߹্ɺΫϥυNGͱ͍͏߹ ◦ Self Hosted Runner·ͨEnterpriseϓϥϯͰରԠՄೳ 1. ͞·͟·ͳVCSʢόʔδϣϯίϯτϩʔϧγεςϜʣʹରԠ • GithubɺGitLabɺBitbucket • ྫ͑GithubActionsΛ͍͍ͨ߹GithubΛ͍ͬͯΔඞཁ͕͋Δ͕ɺ ɹɹCircleCIͰͦͷΑ͏ͳ੍΄ͱΜͲͳ͍
Copyright coconala Inc. All Rights Reserved. 20 CircleCIͷಛ 3. άάϥϏϦςΟ͕ͳ͔ͳ͔ߴ͍
• 2013ࠒ͔Β಄͍ͯ͠Δ&ݸਓͰແྉར༻ՄೳͳͷͰใ͕๛ • ࠷ۙGithubActions͔... 4. σϑΥϧτͰsshσόοάػೳ͋Γ • ઃఆϑΝΠϧΛهࡌͯ͠ɺ ࢥ͏Α͏ʹಈ͔ͳ͍ͱ͖ʹศར • printσόοάΈ͍ͨͳ͜ͱ͕ෆཁ • GithubActionsͰઐ༻ActionsΛΈࠐΉ ඞཁ͕͋Δ
Copyright coconala Inc. All Rights Reserved. 21 CircleCIͷಛ 5. Insightػೳ
• ϦϙδτϦ͝ͱͷޭɺύΠϓϥΠϯͷ࣮ߦ࣌ؒͷ֓ཁΛ֬ೝͰ͖Δ ◦ Ͳ͕͍͜ͷ͔ɺվળ༨͕͋Δͷ͔͕ҰͰΘ͔Γ͍͢
Copyright coconala Inc. All Rights Reserved. 22 CircleCIͷ֓೦ ύΠϓϥΠϯʢ㲈ϫʔΫϑϩʔʣʢԼਤͦͷͷʣ |–
δϣϒʢԼਤͷϒϩοΫʣ |– εςοϓʢӈਤͷϒϩοΫʣ |– ίϚϯυ
Copyright coconala Inc. All Rights Reserved. 23 CircleCIͷઃఆ yamlϑΝΠϧ1ͭͰ݁ʂ
Copyright coconala Inc. All Rights Reserved. 24 ίίφϥͰͷར׆༻ࣄྫ ͱςΫχοΫ
Copyright coconala Inc. All Rights Reserved. 25 πʔϧ༻ 90%ɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹ10% ओཁαʔϏεྨͷςετɾσϓϩΠ
ࣾ༻πʔϧɺPRૢ࡞ܥ
Copyright coconala Inc. All Rights Reserved. 26 CircleCIΛ༻͍ͯAWSσϓϩΠ͢Δ ίίφϥͰEC2ɺECSɺLambdaͷσϓϩΠʹCircleCIΛ׆༻ •
developϒϥϯνϚʔδʹΑΓεςʔδϯάɺ masterϒϥϯνϚʔδʹΑΓຊ൪ࣗಈతʹσϓϩΠ͞ΕΔ • CircleCI্ͰLint→test→build→deploy ͕جຊϑϩʔ
Copyright coconala Inc. All Rights Reserved. 27 ͪΐͬͱͨ͠ςΫχοΫ • AWSGCPσϓϩΠ͢ΔͨΊʹΞΧϯτΩʔ͕ඞཁɾɾɾʁ
◦ ͩͬͨͷલ·Ͱͷ ◦ ݱࡏͰOpenIDConnectͱ͍͏ΈͰೝূ͢Δ͜ͱͰΩʔϨε͕Մೳ ◦ ৄ͘͠ϒϩάΛࢀর͍͖͍ͨͩͨ
Copyright coconala Inc. All Rights Reserved. 28 ͪΐͬͱͨ͠ςΫχοΫ • OrbsΛͲΜͲΜར༻
◦ OrbsͱδϣϒίϚϯυΛύοέʔδԽͨ͠ͷ ▪ ຊདྷेߦʹΔίϚϯυͳͲΛγϯϓϧʹهࡌͰ͖Δ ◦ ࣗͨͪઐ༻ʹPrivate OrbΛ࡞͢Δ͜ͱՄೳ ɹɹ ɹ→aws-cliΛར༻͍ͨͨ͠ΊΠϯετʔϧ͍ͨ͠ɻ ɹ ௨ৗwgetʙtarʙmvͳͲهࡌ͢Δඞཁ͕͋Δ͕ ɹ ͜Ε͕ͨͬͨ1ߦʢaws-cli/installʣͰࡁΜͰ͍Δ
Copyright coconala Inc. All Rights Reserved. 29 ͪΐͬͱͨ͠ςΫχοΫ • ςετฒྻԽͯ͠ߴԽ
◦ CI࣮ߦ࣌ؒͷଟ͘ͷׂ߹ΛΊΔͷ͕ςετఔ ◦ CircleCIͰࢄ࣮ߦͷઃఆ͕Մೳ ◦ ৄ͘͠ϒϩάΛࢀর͍͖͍ͨͩͨ ↓ ྻ࣮ߦͰ30͔͔͍ͬͯͨͷ͕τʔλϧ6ఔʹ
Copyright coconala Inc. All Rights Reserved. 30 CircleCIͰ CI/CDύΠϓϥΠϯΛ͑ շదͳ։ൃऀϥΠϑΛʂ
We are hiring!! ࠾༻ϗʔϜϖʔδ https://coconala.co.jp/recruit ΤϯδχΞ࠾༻ϗʔϜϖʔδ https://coconala.co.jp/recruit/engineer ίίφϥͷਓͱ৫Λ͑Δϒϩά ίίφϥLIVE https://blog.coconala.co.jp/m/m4e4abe8b17e5
ਓੜͷՄೳੑΛ͛ͨϢʔβʔετʔϦʔ Θͨ͠ͷεΩϧղ์ه https://blog.coconala.co.jp/m/me8a586112ad2 ίίφϥʹॴଐ͢ΔΤϯδχΞʹΑΔϒϩά ςοΫϒϩά https://zenn.dev/coconala 31