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
Cloud Run CI/CD + QA @ KAUCHE
Search
Yuki Ito
February 11, 2023
Technology
690
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cloud Run CI/CD + QA @ KAUCHE
Yuki Ito
February 11, 2023
More Decks by Yuki Ito
See All by Yuki Ito
newmo の創業を支える Software Architecture と Platform Engineering
110y
5
3.7k
Modular Monolith Go Server with GraphQL Federation + gRPC
110y
1
1.2k
Modular Monolith + Go @ newmo
110y
1
1.3k
Go + GraphQL @ newmo
110y
3
1k
Architect / Platform Team at KAUCHE
110y
1
720
Cloud Run + Observability / Reliability @ KAUCHE
110y
0
680
Microservices on Cloud Run @ KAUCHE
110y
0
330
KAUCHE Loves Go
110y
0
540
Evolution of Architecture @ Kauche
110y
3
650
Other Decks in Technology
See All in Technology
When Does a Local Qwen Start to Break
morshoto
0
150
いま好きなこと 最初はそんなに好きじゃなかった #tamagawadev
nishiuma
1
250
分割40%キーボードにスムーズに入門するには
hoto17296
1
220
AI時代におけるプロダクト横断勉強会の設計
zozotech
PRO
0
130
どんな手を使っても絶対間に合わせるスケジューラ
asari194617
0
1.5k
多摩川(.dev)ランニング入門 / Tamagawa.dev#3
fujiwara3
3
310
「重なり」は迎える側がつくる ― 人もAIエージェントも歓迎するプロダクトエンジニアリング ―
go0517go
PRO
0
200
Bet AI Day 2026丨How We Bet AI: AIとともに働く場をつくる
layerx
PRO
1
2k
[RSJ26] AnoleVLA: Lightweight Vision-Language-Action Model with Deep State Space Models for Mobile Manipulation
keio_smilab
PRO
0
120
KAEN Company Deck
kaen
PRO
0
290
[RSJ26] Flow as Flow: Modeling Robot Velocity Fields as Probability Velocity Fields
keio_smilab
PRO
0
190
IDperturb: Enhancing Variation in Synthetic Face Generation via Angular Perturbation
sansantech
PRO
0
110
Featured
See All Featured
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
430
Measuring & Analyzing Core Web Vitals
bluesmoon
9
990
The Cost Of JavaScript in 2023
addyosmani
55
10k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
500
Build your cross-platform service in a week with App Engine
jlugia
234
19k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.6k
Transcript
Cloud Run CI/CD + QA @ KAUCHE Yuki Ito (@mrno110)
Cloud Run Casual Talk #1
Kauche Architect / Platform Team Yuki Ito @mrno110
None
What is Cloud Run Cloud Run is a managed compute
platform that enables you to run containers that are invocable via requests or events. Cloud Run is serverless: it abstracts away all infrastructure management... https://cloud.google.com/run/docs
Agenda ɾCI / CD ɾQA
Agenda ɾCI / CD ɾQA
CI / CD Applications Deploy Manifests Cloud Build Cloud Run
Cloud Build Artifact Registry ᶃ Trigger ᶄ Push Image ᶅ Trigger ᶆ Fetch ᶇ Deploy ᶈ Pull Image
CI / CD Applications Deploy Manifests Cloud Build Cloud Run
Cloud Build Artifact Registry ᶃ Trigger ᶄ Push Image ᶅ Trigger ᶆ Fetch ᶇ Deploy ᶈ Pull Image
Workload Identity Federation https://cloud.google.com/blog/products/identity-security/enabling-keyless-authentication-from-github-actions
CI / CD Applications Deploy Manifests Cloud Build Cloud Run
Cloud Build Artifact Registry ᶃ Trigger ᶄ Push Image ᶅ Trigger ᶆ Fetch ᶇ Deploy ᶈ Pull Image
CI / CD Applications Deploy Manifests Cloud Build Cloud Run
Cloud Build Artifact Registry ᶃ Trigger ᶄ Push Image ᶅ Trigger ᶆ Fetch ᶇ Deploy ᶈ Pull Image
110y/cbtctl https://github.com/110y/cbtctl
110y/cbtctl https://github.com/110y/cbtctl
CI / CD Applications Deploy Manifests Cloud Build Cloud Run
Cloud Build Artifact Registry ᶃ Trigger ᶄ Push Image ᶅ Trigger ᶆ Fetch ᶇ Deploy ᶈ Pull Image
CI / CD Applications Deploy Manifests Cloud Build Cloud Run
Cloud Build Artifact Registry ᶃ Trigger ᶄ Push Image ᶅ Trigger ᶆ Fetch ᶇ Deploy ᶈ Pull Image
Declarative Manifest apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: run.googleapis.com/ingress: internal
run.googleapis.com/launch-stage: BETA labels: cloud.googleapis.com/location: ... name: ... spec: template: metadata: annotations: run.googleapis.com/execution-environment: gen2 run.googleapis.com/startup-cpu-boost: "true" run.googleapis.com/vpc-access-connector: projects/.../locations/.../connectors/... run.googleapis.com/vpc-access-egress: all-traffic # ... spec: containers: # ... serviceAccountName: ...
kustomize . ├── base │ ├── kustomization.yaml │ └── service.yaml
├── dev │ ├── kustomization.yaml │ ├── resource.yaml │ └── service.yaml └── prod ├── kustomization.yaml ├── resource.yaml └── service.yaml
CI / CD Applications Deploy Manifests Cloud Build Cloud Run
Cloud Build Artifact Registry ᶃ Trigger ᶄ Push Image ᶅ Trigger ᶆ Fetch ᶇ Deploy ᶈ Pull Image
Agenda ɾCI / CD ɾQA
Agenda ɾCI / CD ɾQA
Deploy Service per Branch Applications Deploy Manifests Cloud Build Cloud
Run Cloud Build Artifact Registry ᶃ Trigger ᶄ Push Image ᶅ Trigger ᶆ Fetch ᶇ Deploy ᶈ Pull Image
Deploy Service per Branch 🧑💻 Cloud Run Services Service-1-Branch-A Service-1-Branch-B
Service-1 Service-2-Branch-X Service-2-Branch-Y Service-2 Gateway
Deploy Service per Branch 🧑💻 Cloud Run Services Service-1-Branch-A Service-1-Branch-B
Service-1 Service-2-Branch-X Service-2-Branch-Y Service-2 Gateway cloud-run-service-1: branch-b cloud-run-service-2: branch-x
Deploy Service per Branch 🧑💻 Cloud Run Services Service-1-Branch-A Service-1-Branch-B
Service-1 Service-2-Branch-X Service-2-Branch-Y Service-2 Gateway cloud-run-service-1: branch-b cloud-run-service-2: branch-x
xDS Control Plane for Cloud Run xDS Control Plane Service-1-Branch-A
Service-1-Branch-B Service-1 Service-X Service Routing Information [default] → Service-1 [cloud-run-service-1: branch-a] → Service-1-Branch-A [cloud-run-service-1: branch-b] → Service-1-Branch-B Service Discovery
What is xDS...? Listener Cluster Endpoint Endpoint Cluster Endpoint Endpoint
Route
What is xDS...? 0.0.0.0:5000 Service-1 10.28.1.11 10.28.1.12 Service-2 10.28.1.13 10.28.1.14
Route Path: /service-1 Path: /service-2
What is xDS...? Control Plane xDS API Cluster Route Listener
x Discovery Service API •Listener Discovery Service •Route Discovery Service
•Cluster Discovery Service •Endpoint Discovery Service
xDS Control Plane for Cloud Run xDS Control Plane Service-1-Branch-A
Service-1-Branch-B Service-1 Service-X Service Routing Information [default] → Service-1 [cloud-run-service-1: branch-a] → Service-1-Branch-A [cloud-run-service-1: branch-b] → Service-1-Branch-B Service Discovery
Deploy Service per Branch 🧑💻 Cloud Run Services Service-1-Branch-A Service-1-Branch-B
Service-1 Service-2-Branch-X Service-2-Branch-Y Service-2 Gateway cloud-run-service-1: branch-b cloud-run-service-2: branch-x
Agenda ɾCI / CD ɾQA