GitOps

GitOps: Standard workflow for application development

GitOps uses Git repositories as a single source of truth to deliver infrastructure as code.

What is GitOps?

GitOps uses Git repositories as a single source of truth to deliver infrastructure as code. Submitted code checks the CI process while the CD process checks and applies requirements for things like security, infrastructure as code, or any other boundaries set for the application framework. All changes to code are tracked, making updates easy while also providing version control should a rollback be needed.

Many other tools can be used together to build a GitOps framework. For example, Git repositories, Kubernetes, CI/CD tools, and configuration management tools.

Learn more at the GitOps Guide to the Galaxy on OpenShift.tv, every other Thursday at 3pm ET.

GitOps delivers ...

  • Standard workflow for application development
  • Increased security by setting application requirements up front
  • Improved reliability with visibility and version control through Git
  • Consistency across any cluster, any cloud, and any on-prem environment

Why GitOps?

GitOps takes the philosophies and approaches promised to those investing in a DevOps culture and provides a framework to start realizing the results. Organizations who practice DevOps realize significant improvements to the rate of innovation in applications and code as well as stability according to the annual State of DevOps Report.

By using the same Git-based workflows that developers are familiar with, GitOps expands upon existing processes from application development to deployment, app lifecycle management, and infrastructure configuration.

Every change throughout the application lifecycle is traced in the Git repository and is auditable. Making changes via Git means developers can finally do what they want: code at their own pace without waiting on resources to be assigned or approved by ops teams.

For operations teams, visibility to change means the ability to trace and reproduce issues quickly improving overall security. With an up-to-date audit trail, organizations can reduce the risk of unwanted changes (drift) and correct them before they go into production.

These changes in code from development to production make organizations more agile in responding to changes in the business and competitive landscape.

How does Red Hat OpenShift enable GitOps?

Red Hat OpenShift consolidates the administration and management of applications spread across on-prem and public cloud resources to:

  • Check that clusters have similar state (configs, monitoring, storage) making application
  • Constraints known early in the development cycle
  • Rollback a change in code across multiple clusters by recovering clusters from a known state
  • Rollout a change submitted to Git across multiple Red Hat OpenShift clusters
  • Associate templated configurations across different environments

Red Hat OpenShift is a declarative Kubernetes platform that administrators can configure and manage using GitOps principles. Working within Kubernetes-based infrastructure and applications, consistency can be applied across clusters and development lifecycles.

Red Hat collaborates with open source projects like ArgoCD and Tekton Pipelines to implement a framework for GitOps. Install the Red Hat OpenShift Pipelines operator and learn how Red Hat is developing new tools with Argo to manage GitOps within existing Red Hat OpenShift deployments.

Why should developers care about GitOps?

Not sure where to start in your GitOps journey? Don Schenck, director of developer experience at Red Hat, has you covered.

Develop with GitOps

Lesson

Getting Started with OpenShift Pipelines

30 minutes | Beginner

In this self-paced tutorial, you will learn how to use OpenShift Pipelines to automate the deployment of your applications.

Lesson

Getting Started with ArgoCD and OpenShift GitOps Operator

30 minutes | Beginner

This guide helps you get started with ArgoCD and GitOps with OpenShift.

Lesson

Working with Kustomize

30 minutes | Beginner

This guide helps you get familiar with how to use Kustomize on Argo CD on OpenShift.

Lesson

Getting started with syncwaves and hooks

30 minutes | Beginner

This scenario will get you get familiar with syncwaves and hook phases.

DevOps with OpenShift Book

Free book: DevOps with OpenShift

Experts explain how to configure Docker application containers and the Kubernetes cluster manager with OpenShift’s developer- and operational-centric tools. Discover how this infrastructure-agnostic container management platform can help companies navigate the murky area where infrastructure-as-code ends and application automation begins.

The book covers the following topics:

  • Why automation is important
  • Patterns and practical examples for managing continuous deployments such as rolling, A/B, blue-green, and canary
  • Implementing continuous integration pipelines with OpenShift’s CI/CD capability
  • Mechanisms for separating and managing configuration from static runtime software
  • Customizing OpenShift’s source-to-image capability
  • Considerations when working with OpenShift-based application workloads
  • Self-contained local versions of the OpenShift environment on your computer

Free book

Red Hat capabilities for GitOps

OpenShift Pipelines

Using Tekton, OpenShift Pipelines delivers a CI/CD experience to OpenShift. Run each step of the CI/CD pipeline in its own container, allowing them to scale independently to meet pipeline demands.

Learn about pipelines  

OpenShift GitOps and Argo CD

OpenShift GitOps leverages Argo CD to manage configurations, definitions, and environments for both Kubernetes itself and the applications it hosts using Git as the source of truth.

Learn about Argo CD  

Red Hat Advanced Cluster Management for Kubernetes

Deploy and manage your GitOps practices with consistency across the hybrid cloud with Red Hat Advanced Cluster Management for Kubernetes.

Learn about ACM