Operations 6 min read

How GitOps Powers Automated Deployments: Push vs Pull Strategies Explained

GitOps, introduced by WeaveWorks in 2017, treats application configurations as code stored in Git, enabling versioned, automated, and standardized deployments, with two main strategies—Push and Pull—each offering distinct advantages, and Zadig’s implementation showcases practical automation for code, environment, and service changes.

Ops Development Stories
Ops Development Stories
Ops Development Stories
How GitOps Powers Automated Deployments: Push vs Pull Strategies Explained

GitOps, a concept proposed by WeaveWorks in 2017, organizes application service configurations, databases, and orchestration settings as code in a Git repository, enabling versioned, automated, and standardized deployment processes.

Two GitOps Deployment Modes

Push-based mode

Pull-based mode

Push mode acts from a god‑view to update environments, while Pull mode leverages permission checks for security and compliance.

Push triggers updates after code changes, which can diverge from manual cluster edits; Pull continuously compares cluster state with the Git repo and triggers updates when mismatches are detected, keeping configurations in sync.

Zadig’s Thoughts on GitOps

Zadig is an open‑source continuous delivery product aimed at empowering engineers as the core engine of enterprise innovation.

By fully embracing GitOps, Zadig combines both Pull and Push approaches to help engineers work efficiently:

Engineers can focus on delivering business value while automated webhooks and full‑pipeline delivery make code changes instantly visible in environments.

Engineers’ mental load for service and environment management is reduced: service configurations are stored as code, automatically synchronized from the Git repo to Zadig, and environment configurations are updated in real time.

GitOps Practice in Zadig

Code Changes

After configuring a workflow and adding a trigger in Zadig, the system creates a webhook in the corresponding Git repository. When the specified event occurs, the workflow is automatically executed, deploying the latest code to the environment.

For different environments, multiple webhook triggers can be configured in the workflow to achieve multi‑environment GitOps.

Environment Configuration Changes

Importing environment configurations (Ingress/ConfigMap/Secret/PVC) from a Git repository with automatic sync enabled.

When the configuration in the Git repository changes, Zadig automatically updates the corresponding environment configuration.

Service Configuration Changes

Importing service configurations from a Git repository to create services.

When the service configuration in the code repository changes, the service auto‑update switch in the service policy synchronizes the changes to Zadig and automatically updates the corresponding services in the environment.

Animated demonstration:

Summary

Webhook‑driven automated continuous deployment simplifies intermediate steps and boosts deployment efficiency; timely synchronization of service configurations ensures orderly scaling; automatic environment updates enhance developer experience. Overall, Zadig’s GitOps practice enables teams to iterate quickly, shorten code‑to‑delivery cycles, and validate value faster.

automationDevOpsContinuous DeliveryGitOpsPushPullZadig
Ops Development Stories
Written by

Ops Development Stories

Maintained by a like‑minded team, covering both operations and development. Topics span Linux ops, DevOps toolchain, Kubernetes containerization, monitoring, log collection, network security, and Python or Go development. Team members: Qiao Ke, wanger, Dong Ge, Su Xin, Hua Zai, Zheng Ge, Teacher Xia.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.