In this chapter, we discussed the importance of a CI/CD pipeline for a microservices-based distributed system. We reviewed some CI/CD options for Kubernetes and settled on a combination of CircleCI for the CI part (code change | Docker image) and Argo CD for the CD part (k8s manifest change | deployed application).
We also covered the best practices for building Docker images using multi-stage builds, the k8s YAML manifests for Postgres DB, and the deployment and service k8s resources. Then, we installed Argo CD in the cluster, configured it to build all our microservices, and explored the UI and the CLI. At this point, you should have a clear understanding of the concept of CI/CD and how important it is, the pros and cons of various solutions, and how to choose the best option for your system.
However, there is much more to come. In later chapters, we will improve our...