"End-to-End CI/CD Pipeline with Docker, Kubernetes, Helm, and ArgoCD on AWS"


π CI/CD Pipeline with Docker, Kubernetes, Helm, and ArgoCD on AWS β Real-World Setup
In this blog, I walk through how I built a real-world CI/CD pipeline using industry-standard tools: Docker, Kubernetes (EKS), Terraform, Helm, and ArgoCD. This is the kind of setup used by top companies to deploy microservices with zero downtime.
π 1. Project Overview
Weβre deploying a sample Node.js application with:
Dockerized app
Infrastructure provisioned via Terraform
Kubernetes cluster on AWS (EKS)
Helm for deployment packaging
GitHub Actions for CI
ArgoCD for automated deployment (CD)
π§± 2. Infrastructure Setup with Terraform
Used Terraform to provision:
VPC
EKS cluster
IAM roles
terraform init
terraform apply
π³ 3. Dockerize the App
FROM node:18
WORKDIR /app
COPY . .
RUN npm install
CMD ["npm", "start"]
βΈοΈ 4. Kubernetes Deployment with Helm
Created a Helm chart to package Kubernetes manifests. Helm makes it easy to manage and upgrade deployments.
helm install myapp ./helm/myapp
βοΈ 5. GitHub Actions CI Pipeline
This GitHub Actions workflow builds a Docker image whenever you push code to the main
branch and pushes it to Docker Hub.
yamlCopyEdit# .github/workflows/docker-build.yml
name: CI Pipeline
on:
push:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build Docker Image
run: docker build -t myapp .
- name: Push to Docker Hub
run: docker push myapp
π 6. Continuous Deployment with ArgoCD
ArgoCD is a declarative, GitOps continuous delivery tool for Kubernetes. It automatically syncs changes from your Git repository to your Kubernetes cluster.
Automatically detects new commits in your GitHub repo
Visual UI to track sync status, health, and app logs
Follows GitOps principles to maintain cluster state
Once configured, all changes pushed to GitHub are automatically deployed via ArgoCD.
π 7. Monitoring with Prometheus & Grafana
For observability, I integrated Prometheus and Grafana into the Kubernetes cluster:
Prometheus scrapes metrics from the app and cluster
Grafana provides real-time dashboards and visualizations
Useful for tracking CPU, memory, pod health, and traffic
Monitoring is essential for diagnosing performance issues and maintaining uptime.
β Conclusion
This CI/CD pipeline replicates a real production-grade environment. I used tools that companies like Netflix, Spotify, and Uber use in real DevOps workflows.
This project helped me strengthen:
Infrastructure as Code with Terraform
GitOps mindset with ArgoCD
Kubernetes and Helm deployments
CI/CD automation with GitHub Actions
π Stay tuned β Iβll soon write a part 2 with Canary Deployments and Auto Scaling.
π Connect with Me
If you're hiring or working on similar DevOps projects, feel free to connect!
π§ kartheekyarllagadda5@gmail.com
π kartheek.hashnode.dev
Kubernetes
Docker
CI/CD
Terraform
AWS
Helm
ArgoCD
Subscribe to my newsletter
Read articles from kartheek yarlagadda directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
