Part of the Git, Zero to Hero
Build & submit taskBetaintermediate

Promote and Roll Back with GitOps

Release a price change the GitOps way on a local Kubernetes cluster: make a new release, deploy it to staging, promote it to production through a branch, then roll production back with git revert, while Argo CD does every deployment. A local self-check verifies your history, the Git server and what Argo CD runs and has run, and writes your submission for instant, rubric-based feedback.

45 min

Est. time

3

Outcomes

4

Rubric criteria

60%

Pass score

What you'll learn

Skills you'll have real reps in after shipping this.

In GitOps, a deployment is a commit and a rollback is a revert: Git is the record of what ran, when and why.
Promotion moves an exact, unchanged release to the next environment, through review.
Argo CD's history ties each deployment to a commit, so Git and the cluster can be checked against each other.

The scenario

Bean There runs its website the GitOps way: a configuration repository with a folder per environment, and Argo CD deploying whatever main says. The flat white is going up from 3.20 to 3.30.

The owner wants it tested in staging first, promoted to production through review, and, as it turns out, taken back off production the same afternoon, while staging keeps the new price for a later decision.

Your role

You are the developer releasing the change. Your deliverable is promote/ with release v2, a commit that moves staging to v2, a promotion of production to v2 from a pushed promote branch, a revert of that promotion, everything pushed and deployed by Argo CD, and notes on the audit trail and the rollback.

Start the task to unlock the full brief

You'll get the step-by-step requirements, setup commands, the 4-criterion grading rubric, tips, and the ability to submit your solution for instant AI grading.

Free to start · submit when you're ready

Practice GitOps promotion and rollback with Argo CD

GitOps turns deployments into commits: a folder per environment in Git, an agent such as Argo CD applying whatever main says, and a git revert as the rollback. This kit sets up the café's website on a local Kubernetes cluster (kind) with Argo CD and a practice Git server. You make a new release, deploy it to staging, promote it to production through a branch, and roll production back, watching Argo CD do every deployment. A local self-check verifies your history, the server and what Argo CD runs and has run, and writes your submission only when everything genuinely passes. It is the Level 9 project in Preporato's Git course.

Frequently asked questions

Do I need a cloud account or a GitHub account?

No. Everything runs on your computer: kind runs Kubernetes inside Docker, and the practice Git server runs in the same cluster. You need Docker with about 4 GB of memory, kind and kubectl.

Why must production deploy v2 before I roll it back?

The project is about a real rollback, so the check reads Argo CD's deployment history for production and looks for the release you promoted. Reverting before Argo CD deploys it would leave nothing to roll back.

Can I promote with a merge commit instead of a fast-forward?

Yes. The check finds the commit that changed production either way, and accepts a revert of the promotion commit or of the merge (git revert -m 1).