The series discusses how to take a Cloud Native approach to building, testing, and deploying applications, covering release management, Cloud Native tools, Service Meshes, and CI/CD tools that can be used with Kubernetes. It is designed to help developers and businesses that are interested in integrating CI/CD best practices with Kubernetes into their worflows.
If you are getting started with containers, you will likely want to know how to automate the processes of building, testing, and deployment. In this first article of the CI/CD with Kubernetes series, we will cover key topics for working with Kubernetes. By the end of this tutorial, you will have created container images with Docker, Buildah, and Kaniko. You will also have experience setting up a Kubernetes cluster with Deployments, Services, and Custom Resources.
In this second article of the CI/CD with Kubernetes series, you will preview two Kubernetes-specific tools that have been developed to manage cloud native CI/CD: the Helm package manager and the Jenkins X pipeline automation tool. In order to effectively reduce error and organize complexity in application deployment, CI/CD systems must include robust tooling for package management/deployment and the creation of a development pipeline with automated testing.
GitOps, as proposed by Weaverworks in a 2017 blog post, uses Git as a “single source of truth” for CI/CD processes, integrating code changes that happen in your Git repository. In this tutorial, you will run through a demonstration of two tools that you can use to set up your own cloud-based GitOps CI/CD system: The Continuous Integration tool CircleCI and Argo CD, a declarative Continuous Delivery tool.