- Commits Code:A developer writes and commits application code to a source code repository (e.g., GitHub, GitLab, or Bitbucket).
- Changes Config:The developer also modifies Kubernetes configuration files, such as Helm charts or Kubernetes manifests, which are stored in a version-controlled repository.
- Code Build and Image Creation:A CI pipeline is triggered when new code is committed to the repository. This pipeline includes:Building the Code: Tools like Jenkins, CircleCI, or GitLab CI are used to compile and test the code.Creating a Container Image: Once the code passes the tests, a container image is built using tools like Docker.Push Image to Repository:The newly created container image is pushed to an image repository (e.g., DockerHub, Amazon Elastic Container Registry, or another container registry).This image becomes the deployable artifact for the application.
- Configuration Management:
- ArgoCD Sync:
- ArgoCD, a declarative GitOps tool, continuously syncs the changes from the configuration repository.
- ArgoCD ensures the Kubernetes clusters are always aligned with the desired state defined in the configuration repository.
- It uses Helm charts or raw Kubernetes manifests to define the application's desired state and infrastructure configuration.