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
670
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.6k
Modular Monolith Go Server with GraphQL Federation + gRPC
110y
1
1.1k
Modular Monolith + Go @ newmo
110y
1
1.3k
Go + GraphQL @ newmo
110y
3
990
Architect / Platform Team at KAUCHE
110y
1
700
Cloud Run + Observability / Reliability @ KAUCHE
110y
0
670
Microservices on Cloud Run @ KAUCHE
110y
0
310
KAUCHE Loves Go
110y
0
540
Evolution of Architecture @ Kauche
110y
3
640
Other Decks in Technology
See All in Technology
凡エンジニアがこの先生きのこるためには。〜TypeScript完全に理解したい〜
alchemy1115
2
310
SRE依存からの脱却 運用を開 発チームへ移す、 フルサイ クル開 発体制の実践
joooee0000
0
3.2k
オブザーバビリティ、本当に活用できてる? 〜API連携×生成AIで成熟度を自動評価〜
dmmsre
1
3.6k
OpenTelemetryにおけるGoのゼロコード・コンパイル時計装について #fukuokago
quiver
0
110
プロダクト開発組織の現在地(Ver.2026/07) / product-organization
kaonavi
0
110
あなたの『Site』はどこですか? — xREという考え方
miyamu
0
1.2k
Terraform共通モジュールをチーム横断で“変えられる”運用へ ― リリースと適用の分離
kekke_n
1
3.4k
大量データに対しても、生成AIを用いてリーズナブルにデータ加工をしたい!Databricksのai_queryについて調べてみた
kamoshika
1
220
AI、CDK と協働する Full TypeScript アプリケーション開発 / Full TypeScript Application with AI and CDK
geekplus_tech
2
400
SoccerMaster: A Vision Foundation Model for Soccer Understanding
kzykmyzw
0
150
2年前に削除したPHPクラスが、 ある日突然決済をエラーにした
ykagano
1
310
Genie Ontologyは銀の弾丸かを考える / Is Genie Ontology a Silver Bullet?
nttcom
0
410
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
37
7.4k
Amusing Abliteration
ianozsvald
1
230
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
660
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.3k
The SEO identity crisis: Don't let AI make you average
varn
0
510
GraphQLとの向き合い方2022年版
quramy
50
15k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
340
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.9k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Done Done
chrislema
186
16k
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