Skip to main content
Welcome to Sprint 03, where we focus on architecting the Continuous Integration and Continuous Deployment (CI/CD) pipeline for our application on Google Kubernetes Engine (GKE).

Recap of Previous Sprints

So far, we have:
  • A working application stored in GitHub.
  • A Google Kubernetes Engine (GKE) cluster running on Google Cloud Platform (GCP).
  • Hands-on experience deploying our app manually to the cluster.
MilestoneDescriptionReference
Code RepositoryApplication source managed in GitHubGitHub Docs
GKE ClusterKubernetes cluster provisioned on GCPGKE Concepts
Manual Deploymentkubectl-based deploys tested and validatedkubectl Cheat Sheet
The image shows the Google Cloud Platform logo and the abbreviation "GKE" with a hexagonal icon, representing Google Kubernetes Engine.

Why Automate Your GKE Deployments?

Automating deployments increases reliability, reduces human error, and accelerates delivery. A well-designed CI/CD pipeline will:
  • Build container images on every commit
  • Run automated tests (unit, integration)
  • Push images to Container Registry
  • Deploy to GKE with zero-downtime updates
  • Provide instant feedback on build or deployment failures
Consider using Google Container Registry or Artifact Registry to store and scan your Docker images.

Key Design Discussion Topics

Before writing any pipeline code, we need to decide on:
Decision AreaConsiderationsExample Tools
CI/CD PlatformEase of integration, native GCP support, costGitHub Actions, Cloud Build, Jenkins
Pipeline StructureStages for build, test, deploy, approvalsYAML-based pipelines, Helm
Branching StrategyGitFlow vs. trunk-based development, pull request workflowsGitHub Flow, GitLab Flow
IAM & Secret ManagementService accounts, least-privilege roles, secure secret storageSecret Manager, KMS
Monitoring & RollbackLogging, metrics, health checks, automatic rollback triggersCloud Monitoring, Prometheus
The image shows an infinity loop diagram labeled "CI" and "CD," representing Continuous Integration and Continuous Deployment, with a gradient color scheme. It is titled "Design Discussion."

Goals for Sprint 03

By the end of this sprint, we aim to deliver:
  • A documented design for our CI/CD pipeline, including architecture diagrams and decision rationale.
  • A prioritized task list covering:
    • Pipeline definitions (YAML files or scripts)
    • Service account creation and IAM roles
    • Secret management and access controls
    • Integration with Container Registry and monitoring tools
These deliverables will serve as the blueprint for implementing our automated builds and deployments in the next sprints.