Build a GitOps CI/CD pipeline to Kubernetes
A team deploys by SSH-ing into servers and running scripts, and nobody is sure what is actually running where. You replace that with a pipeline where a merge to main automatically builds, tests, and deploys to Kubernetes, and the cluster always matches Git.
What you'll build
A complete path from commit to production: CI that builds and tests a container, a registry, a Kubernetes deploy driven by GitOps, and a one-click rollback by reverting a commit.
See how we teach, before you sign up
You don't just get code dumped on you. Every starter file and every solution is explained line-by-line, in plain English. Here's one real file from this project:
apiVersion: v2 name: webapp description: GitOps-deployed web service type: application version: 0.1.0 appVersion: "1.0.0"
Reading this file
apiVersion: v2Marks this as a Helm 3 chart. Every chart needs this file so Helm knows how to package and version it.version: 0.1.0The chart version. Bump it whenever the templates change so installs are tracked and repeatable.appVersion: "1.0.0"The version of the app being deployed, kept separate from the chart version because the two change independently.
Minimal chart metadata, bump the version when the templates change.
That's 1 of 9 explained code blocks in this single project.
The build, milestone by milestone
- 1
Containerize & test in CI
5 guided stepsGitOps deploys whatever image tag is in Git. That tag is only trustworthy if CI proved the image before it was published.
- 2
Template the deploy
5 guided stepsHand-edited YAML drifts across environments. A chart with values files makes staging and prod the same template with different inputs.
- 3
Go GitOps
5 guided stepsWhen a controller continuously reconciles the cluster to Git, drift heals itself and every change is a reviewed, auditable commit instead of a manual kubectl command.
- 4
See it and price it
5 guided stepsA GitOps pipeline that deploys blind is half a system: you need to see request rate, errors, and latency to know a deploy is healthy, and you need a cost number so the cluster is a deliberate spend, not a surprise invoice.
- 5
Make failure cheap
5 guided stepsA deploy system is only as good as its rollback. If reverting is a panic, people stop deploying. GitOps makes rollback a `git revert`.
What's inside when you start
You'll walk away with
This is portfolio-grade. Build it free.
Sign up to unlock every milestone step-by-step, the code skeletons, full reference solutions, and checkable tasks, with your progress saved as you build.
Start building