İçeriğe Atla
Mustafa Erbay
Tutorials kubernetes-uretim-guvenlik · 10 min read · görüntülenme Türkçe oku
100%

Multi-Environment Promotion Pipeline with GitOps

A practical, GitOps-based guide for building a controlled promotion flow across development, test, and production environments.

Multi-Environment Promotion Pipeline with GitOps — cover image

In enterprise teams, one of the most fragile points of deployment pipelines is the lack of clarity around how a change that runs in dev gets carried into test and production. CI systems produce artifacts; but the real control question often becomes: which version was promoted to the higher environment, when, by whom, and through which approval mechanism? The GitOps approach gives a more auditable answer to that question.

Diagram showing the multi-environment GitOps promotion pipeline

What does GitOps actually solve here?

GitOps is not just the “let deploy manifests live in Git” approach. In multi-environment management, it solves three concrete problems:

  • Environment state is brought under version control as desired state.
  • Promotion decisions become visible and auditable.
  • A shared change surface emerges between the operations team and the application team.

This matters especially when there are multiple Kubernetes clusters, separate network segments, or auxiliary service clusters running around an ERP.

What does a solid environment model look like?

For a starting point, the most readable structure typically draws this distinction:

  • dev: a fast feedback loop and flexible experimentation area
  • test or staging: integration, regression, and security checks
  • prod: tight rule set, well-defined change window

All these environments can live in the same repo; but the approval rules, branch protections, and deployment triggers should differ.

Key decisions when designing the promotion pipeline

These decisions need to be made up front in a GitOps pipeline:

  1. Is the artifact version immutable?
  2. Will a PR, a tag, or an automatic policy be used for promotion?
  3. Will the difference between environments be kept only in value files?
  4. Which commit or manifest version will rollbacks target?

If these questions aren’t crisp, GitOps just turns into yet another commit ritual.

Example promotion flow

A practical, controlled flow runs as follows:

  • The application change is built via CI and a versioned image is produced.
  • The dev environment manifest is updated to reference the new image.
  • If validations pass, a separate PR is opened for the test environment.
  • After the required checks, the prod manifest is promoted with approval.

In this model, every environment transition becomes traceable in Git history. At the same time, the question “which version is in production?” can be answered without looking inside the cluster.

Why does it get harder on the enterprise side?

In real life, environments are not separated only technically; they’re also separated by network, access, data class, and change window. So the GitOps pipeline must also touch these areas:

  • Separate secret and identity management
  • Per-environment policy controls
  • Post-deployment health validation
  • Approved maintenance windows

Especially for ERP-dependent systems, even if the application is healthy, the promotion isn’t really finished if downstream integrations aren’t ready.

Common mistakes

  • Inflating environment differences with copy-pasted manifests
  • Promoting to production through the same branch flow without controls
  • Constantly bypassing the GitOps tool with manual interventions
  • Assuming the rollback strategy is just “redeploy”
  • Forgetting per-environment observability and alarm requirements

Because of these mistakes, GitOps appears to be in place; but real control still lives in people’s terminal histories.

Conclusion

Building a multi-environment promotion pipeline with GitOps isn’t only about automating deployment; it’s about turning change into an auditable product. A well-designed flow produces higher confidence in test and production environments without choking developer velocity. In enterprise contexts, the real value is in making each environment promotion a traceable, reversible decision point with clear ownership.

Paylaş:

Bu yazı faydalı oldu mu?

Yükleniyor...

Bu yazı nasıldı?

ME

Mustafa Erbay

Sistem Mimarisi · Network Uzmanı · Altyapı, Güvenlik ve Yazılım

2006'dan bu yana sistem mimarisi, network, sunucu altyapıları, büyük yapıların kurulumu, yazılım ve sistem güvenliği ekseninde çalışıyorum. Bu blogda sahada karşılığı olan teknik deneyimlerimi paylaşıyorum.

Kişisel Notlar

Bu notlar sadece sizde saklanır. Tarayıcınızda yerel olarak tutulur.

Hazır 0 karakter

Comments

Server-side AI Moderation

Comments are AI-moderated server-side and stored permanently.

?
0/2000

Server-side AI moderation

✉️ Free · No spam · Unsubscribe anytime

Curated digest, hand-picked by me — not the AI

Once a week: the most important post of the week, behind-the-scenes notes, and a "what I actually used this week" section. Less noise, more signal.

  • 📌
    Best of the week Single most-worth-reading post
  • 🔧
    Toolbox notes Real tools I used this week
  • 🧠
    Behind-the-scenes Notes that don't make it to blog

We don't spam. Unsubscribe anytime. · Tracked only by Umami (self-hosted, no Google).

Your Reading Stats

0

Posts Read

0m

Reading Time

0

Day Streak

-

Favorite Category

Related Posts