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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Akifumi Tominaga
March 05, 2019
Programming
520
2
Share
CircleCIを使って 「完全サーバーレス運用」を 実現した話
CircleCIを使って「完全サーバーレス運用」を実現した話
Akifumi Tominaga
March 05, 2019
More Decks by Akifumi Tominaga
See All by Akifumi Tominaga
Firebase Remote Config を利用した Feature Flags の導入
decoch
0
270
Firebase Performance を利用したアプリの起動時間高速化
decoch
0
190
依存関係を静的解析しよう
decoch
2
440
GOで作るCLIツール
decoch
1
390
DBFlute Introで 気軽にDBコメント変更
decoch
0
140
DBFlute-intro
decoch
0
77
Other Decks in Programming
See All in Programming
アクセシビリティ試験の"その後"を仕組み化する
yuuumiravy
1
200
GoogleCloudとterraform完全に理解した
terisuke
1
190
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
5
1.6k
実践ハーネスエンジニアリング:ステアリングループを実例から読み解く / Practical Harness Engineering: Understanding Steering Loops Through Real-World Examples
nrslib
5
4.6k
AIを導入する前にやるべきこと
negima
2
340
AgentCore Optimizationを始めよう!
licux
3
220
〜バイブコーディングを超えて〜 チームで実験し続けたAI駆動開発
tigertora7571
0
200
空間オーディオの活用
objectiveaudio
0
140
AI時代になぜ書くのか
mutsumix
0
270
Kubernetesを使わない環境にもCloud Nativeなデプロイを実現する / Enabling Cloud Native deployments without the complexity of Kubernetes
linyows
3
330
Firefoxにコントリビューションして得られた学び
ken7253
2
160
PHPer、Cloudflare に引っ越す
suguruooki
1
140
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Accessibility Awareness
sabderemane
1
110
Music & Morning Musume
bryan
47
7.2k
How to Ace a Technical Interview
jacobian
281
24k
Mind Mapping
helmedeiros
PRO
1
190
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
180
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Designing for Performance
lara
611
70k
Fireside Chat
paigeccino
42
3.9k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
210
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
280
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
120
Transcript
CircleCIΛͬͯ ʮશαʔόʔϨεӡ༻ʯΛ ࣮ݱͨ͠ 2019/03/05 CircleCI Meetup @decoch
ࣗݾհ • ໊લ : Ӭߊ࢙ @decoch • ձࣾ : גࣜձࣾϏζϦʔν
• ৬छ : Engineer(Backend, SmartPhoneApp) • ݴޠ : Golang, Ruby, Kotlin, Swift • CI/CD͜͜ͰΓ࢝Ίͨ •
એ • CircleCIͷϋοΧιϯͰOrbΛ࡞Γ·ͨ͠ • https://github.com/decoch/line-orb • https://github.com/decoch/chatwork-orb
ͪͳΈʹ • https://tech.bizreach.co.jp/posts/254/circleci/
Agenda • എܠ • ԿΛͨ͠ͷ͔ • CircleCIΛͬͯΈͯ • ·ͱΊ •
Q&A
എܠ
എܠ • BizHintͰ Ruby on Rails Λͬͯ։ൃ • EC2 ͰࣗͨͪͰ੬ऑੑͷύονΛͯɺ
όʔδϣϯΞοϓΛ͢Δඞཁ͕͋Δ • CIڥͱͯ͠JenkinsαʔόʔΛཱ͍ͯͯΔ
എܠ • ৽نαʔϏεΛ GCP ͷ App Engine Λͬͨ αʔόʔϨεͳΞϓϦέʔγϣϯΛ։ൃ •
৽نαʔϏεͷβϦϦʔεʹࡍ͠ɺCIڥΛ උ͢Δඞཁ͕͋Δ • CIπʔϧͷΫϥυαʔϏεͳ͍͔ௐࠪ
ԿΛͬͨͷ͔
ͦͦશαʔόʔϨεͱ Compute Engine Amazon EC2 App Engine Cloud Functions AWS
Lambda • ※νʔϜͷߟ͑
࣮ࡍͷߏ App Engine Cloud Datastore Cloud Functions Cloud Pub/Sub Cloud
Bigtable
ԿΛͬͨͷ͔ • αʔόʔཧΛͤͣʹαʔϏεΛӡ༻͍ͨ͠ • GCPͷϑϧϚωʔδυͳαʔϏεΛར༻ • CI/CDCircleCIΛར༻
࣮ࡍʹӡ༻ͯ͠Έͯ • ΠϯϑϥઐͷΤϯδχΞͳ͠Ͱӡ༻͕Ͱ͖ ͍ͯΔ • αʔόʔͷઃఆ͕গͳ͘ૉૣ͘αʔϏεΛϦ ϦʔεͰ͖ͨ
CircleCIΛͬͯΈͯ
CircleCIΛͬͯΑ͔ͬͨ • ؆୯ʹCIڥΛߏஙͰ͖Δ • ઃఆϑΝΠϧΛGitཧͰ͖Δ • ڞ༗ͷઃఆΛOrbͰڞ༗Ͱ͖Δ
؆୯ʹCIڥΛߏஙͰ͖Δ 1. .circleci/config.yml ͷઃఆϑΝΠϧΛ࡞ 2. config.yml ʹઃఆΛهड़ 3. GitHubʹϓογϡ 4.
CircleCIͰϏϧυΛ։࢝
ઃఆϑΝΠϧΛGitཧͰ͖Δ • .circleci/config.yml ʹઃఆΛهड़͢Δ • αʔόʔαΠυΤϯδχΞ͕ؾܰʹઃఆมߋ ΛͰ͖Δ • ΠϯϑϥઐͷΤϯδχΞͳ͠ͰαʔϏεͷ ӡ༻͕Ͱ͖͍ͯΔ
ڞ༗ͷઃఆΛOrbͰڞ༗Ͱ͖Δ
վળ • 2.1ϦϦʔεʹϦϦʔεͨ͠ͷͰɺσϓϩΠί ϚϯυͷOrbԽ͕Ͱ͖͍ͯͳ͍ • ձࣾશମͰಋೖ͍ͯ͠ͳ͍ͷͰɺΠϯελϯ ε͕গͳ͘Ωϡʔ͕ཷ·Γ͕ͪ • CircleCIͷyamlͷઃఆ͕ؾܰʹςετͰ͖ͣ࠷ ॳखؒऔͬͨ
·ͱΊ
·ͱΊ • αʔόʔϨεͰӡ༻͢Δ͜ͱͰӡ༻ίετΛ Լ͛Δ͜ͱ͕Ͱ͖ͨ • ӡ༻ίετݮ͚ͩͰͳ͘ɺαʔϏεͷཱͪ ্্͕͛Δ • ࡉ͔͍νϡʔχϯά͕ඞཁʹͳͬͨΒࣗલͰ ӡ༻͢ΔΑ͏ʹͳΔ͔
Q&A