Part 1 of this 3 part series goes through the process of setting up a CI/CD pipeline leveraging CircleCI and ArgoCD. The overall architecture is depicted below:
The steps that will be implemented/accommodated are:
- Developer commits code to a GitHub repo that is monitored by CircleCI.
- CircleCI will perform the following tasks on all commits into the
master
branch:- Test the code. In this example, we’re leveraging
go test
. - If Testing completes successfully, build (compile) the code.
- If building the code completes successfully, construct a docker image to accommodate the service. Push this image to DockerHub
- If creating the Docker Image completes successfully, construct a basic deployment YAML file including the tag of the image that was recently uploaded.
- Commit the YAML file to a separate GitHub repo, monitored by ArgoCD.
- Test the code. In this example, we’re leveraging
- Argo CD will deploy the YAML manifest:
- Automatically into the
Test
cluster - With manual approval into the
Prod
cluster
- Automatically into the
Leave a Reply