Chapter 1. About CI/CD
OpenShift Container Platform is an enterprise-ready Kubernetes platform for developers, which enables organizations to automate the application delivery process through DevOps practices, such as continuous integration (CI) and continuous delivery (CD). To meet your organizational needs, the OpenShift Container Platform provides the following CI/CD solutions:
- OpenShift Builds
- OpenShift Pipelines
- OpenShift GitOps
1.1. OpenShift Builds
OpenShift Builds provides you the following options to configure and run a build:
Builds using Shipwright is an extensible build framework based on the Shipwright project. You can use it to build container images on an OpenShift Container Platform cluster. You can build container images from source code and Dockerfile by using image build tools, such as Source-to-Image (S2I) and Buildah.
For more information, see builds for Red Hat OpenShift.
Builds using
BuildConfig
objects is a declarative build process to create cloud-native apps. You can define the build process in a YAML file that you use to create aBuildConfig
object. This definition includes attributes such as build triggers, input parameters, and source code. When deployed, theBuildConfig
object builds a runnable image and pushes the image to a container image registry. With theBuildConfig
object, you can create a Docker, Source-to-image (S2I), or custom build.For more information, see Understanding image builds.
1.2. OpenShift Pipelines
OpenShift Pipelines provides a Kubernetes-native CI/CD framework to design and run each step of the CI/CD pipeline in its own container. It can scale independently to meet the on-demand pipelines with predictable outcomes.
For more information, see Red Hat OpenShift Pipelines.
1.3. OpenShift GitOps
OpenShift GitOps is an Operator that uses Argo CD as the declarative GitOps engine. It enables GitOps workflows across multicluster OpenShift and Kubernetes infrastructure. Using OpenShift GitOps, administrators can consistently configure and deploy Kubernetes-based infrastructure and applications across clusters and development lifecycles.
For more information, see Red Hat OpenShift GitOps.
1.4. Jenkins
Jenkins automates the process of building, testing, and deploying applications and projects. OpenShift Developer Tools provides a Jenkins image that integrates directly with the OpenShift Container Platform. Jenkins can be deployed on OpenShift by using the Samples Operator templates or certified Helm chart.
For more information, see Configuring Jenkins images.