Professional DevOps CI/CD Architecture Diagram
Node.js application delivery pipeline with GitHub, Jenkins, SonarQube, Docker, Amazon ECR, Amazon EKS, and Helm.
Author : Ahmad Alabrash
Source / Runtime / Kubernetes Context
CI/CD Orchestration & Deployment
Quality & Validation Controls
Registry / Artifact Storage
Pipeline Stages
- Checkout SCM: Jenkins pulls source code, Jenkinsfile, Dockerfile, and Helm chart from GitHub.
- Check Tools: Validates runtime dependencies on Jenkins agent: Node.js, npm, Docker, AWS CLI, kubectl, Helm.
- Install Dependencies: Runs
npm install inside Nodejs App.
- Run Tests: Executes Jest test suite and JUnit-style reporting.
- SonarQube Scan: Sends source code and test metadata to SonarQube for static analysis.
- Quality Gate: Jenkins waits until SonarQube returns pass/fail status through webhook.
- Build Docker Image: Builds application image and tags it with build number and
latest.
- Push to ECR: Authenticates to Amazon ECR and pushes versioned image artifacts.
- Deploy to EKS with Helm: Updates kubeconfig, validates chart, installs or upgrades Helm release.
Professional Requirements & Best Practices
- Use separate EC2 instances for Jenkins and SonarQube to isolate workloads.
- Store AWS and SonarQube credentials in Jenkins Credentials, not in source code.
- Use ECR as the only trusted image source for Kubernetes deployments.
- Prefer Helm over raw
kubectl create/set image/expose for packaging, upgrades, and rollback readiness.
- Use SonarQube Quality Gate as a deployment blocker so only validated code reaches EKS.
- Keep Helm chart version-controlled inside the repository.
- Next-level enhancements: separate dev/stage/prod values files, ingress, TLS, monitoring, rollback strategy, and GitOps.