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
280
Firebase Performance を利用したアプリの起動時間高速化
decoch
0
200
依存関係を静的解析しよう
decoch
2
450
GOで作るCLIツール
decoch
1
400
DBFlute Introで 気軽にDBコメント変更
decoch
0
150
DBFlute-intro
decoch
0
80
Other Decks in Programming
See All in Programming
Inside Stream API
skrb
1
620
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
220
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
4
1.4k
並列実装の現場、2ヶ月間実務でAIを使い倒したAIもPCも私も限界が近い
ming_ayami
0
100
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
170
inferと仲良くなる10分間
ryokatsuse
1
360
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
470
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
310
Spec Driven Development | AI Summit Lisbon
danielsogl
PRO
0
130
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
4
1.1k
Copilot CLI の継戦能力を高める コンテキスト管理
nozomutu
1
1.2k
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
430
Featured
See All Featured
The browser strikes back
jonoalderson
0
1.1k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
55k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
440
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
220
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
The untapped power of vector embeddings
frankvandijk
2
1.7k
Scaling GitHub
holman
464
140k
Six Lessons from altMBA
skipperchong
29
4.3k
sira's awesome portfolio website redesign presentation
elsirapls
0
270
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
150
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
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