The AWS Developer Tools allow us to securely save our application's source code, create, test, and deploy it to AWS or your on-premises environment. For this project, I built a continuous integration or delivery (CI/CD) process using AWS CodeBuild, AWS CodeDeploy and AWS EKS (Elastic Kubernetes Service) to build and deploy an application.
- AWS
- Kubernetes
- Docker
- ArgoCD
- Bash
In short, To accomplish this project I built a CI/CD pipeline by following steps:
- Firstly, I started a CodeBuild, ECR and EKS in my AWS environment to implement CI/CD pipeline that works with a GIthub public repository personal web to fetch source code for further steps.
- To build a container image of my personal web in continuous mode I used AWS CodeBuild, That works as follows:
- It builds latest container image of the source code with a version tag mentioned in delpyment YAML on every merge or push.
- And push/send the built container image to AWS ECR (Elastic Container Registry).
- Running EKS (Elastic Kubernetes Service) with ArgoCD on AWS continuously checks source code deployment YAML updation.
- On changes in Deployment YAML argoCD deploys a new Deployment in K8s for the web by pruning the old one and fetches the new latest image built on AWS ECR with the version tag mentioned in Deployment YAML to create new deployment.
That's how this DevOps project was built ;)