This chapter covers
- Deploying produced artifacts into environments
- Using environment pipelines and GitOps to manage environments
- Using Argo CD with Helm to deliver software efficiently
This chapter introduces the concept of environment pipelines. We cover the steps required to deploy the artifacts created by service pipelines into concrete running environments all the way to production. We will look into a common practice that has emerged in the cloud-native space called GitOps, which allows us to define and configure our environments using a Git repository. Finally, we will look at a project called Argo CD, which implements a GitOps approach for managing applications on top of Kubernetes. This chapter is divided into three main sections:
- Environment pipelines
- Environment pipelines in action using Argo CD
- Service + environment pipelines working together
We can build as many services as we want and produce new versions, but if these versions cannot flow freely across different environments to be tested and finally used by our customers, our organization will struggle to have a smooth end-to-end software delivery practice. Environment pipelines are in charge of configuring and maintaining our environments.