One tooling project, not one pipeline per environment
A dedicated tooling project holds Cloud Build, Artifact Registry, and Cloud Deploy; environment projects hold zero pipeline machinery.
Speaker notes
- Two patterns exist: per-environment projects each running their own pipeline copy (simple but duplicates maintenance and security review N times), versus one dedicated tooling project deploying across project boundaries with scoped cross-project IAM.
- PCDE expects the tooling-project pattern by default as codebase and team count grow — it centralizes pipeline security review to one place instead of N duplicated copies.
- Tell the real incident: a team granted roles/editor to a pipeline service account 'temporarily' during a migration, and four months later nobody wanted to revoke it because build steps had quietly started depending on permissions they never should have had — the underlying lesson is defining a pipeline's actual required permission set BEFORE granting access, so there's a baseline to audit against.
Deck map
01
One pipeline, built deliberately
02
PCDE sections 1-2, and where this course sits in the track
03
ACE operates a resource; PCDE designs the system
04
One tooling project, not one pipeline per environment
05
Dev, staging, and prod should never share one policy
06
What actually crosses the project boundary: a token, never a key
07
A hand-run command leaves no record of why
08
Local Terraform state is a production incident waiting to happen
09
Cloud Foundation Toolkit and Fabric FAST: forked, never left unmodified
10
Terraform for foundations, Config Connector for workload-coupled infra
11
Git decides, automation reconciles — no human runs apply
12
Cloud Build's whole job: source in, tested artifact out
13
Built-in substitutions are automatic; user-defined ones need an underscore
14
An unfiltered branch trigger is a budget incident waiting to happen
15
Three repository modes, and scanning stops at the virtual layer
16
Cheap checks first, expensive checks last
17
Cloud Build produces; Cloud Deploy promotes — never the reverse
18
Four objects: DeliveryPipeline, Target, Release, Rollout
19
Canary limits exposure; blue/green makes the cutover atomic
20
A human gates production; automation gates everything else
21
Meridian's full path: merge to production, one continuous record
22
Credentials go in Secret Manager; configuration goes in Parameter Manager
23
An ENV baked into a Dockerfile is still build-time injection
24
One question resolves almost every config-placement decision
25
Ephemeral environments need a TTL, or they're not actually ephemeral
26
Rapid, Regular, Stable — and a maintenance exclusion set too late doesn't help
27
A compromised pipeline is every environment it deploys to
28
SLSA grades the pipeline's trustworthiness, not any single artifact
29
Default-deny, or an unlisted cluster accepts anything
30
Only /home survives a session — everything else is rebuilt fresh
31
Every chapter of this course, in one sequence
32
Readiness checklist