DEV Community

Cover image for CI/CD Meets Monitoring: My Full DevOps Stack with Node.js, Kubernetes, and GitHub Actions
Sayan Singh
Sayan Singh

Posted on

CI/CD Meets Monitoring: My Full DevOps Stack with Node.js, Kubernetes, and GitHub Actions

Went from basic Node.js app to a fully monitored, Kubernetes-powered CI/CD pipeline in one project. Here’s how I built it — from Docker to dashboards.

What I Built:

A Node.js backend exposing Prometheus-compatible metrics
Fully Dockerized, with GitHub Actions building & pushing images to Docker Hub
Kubernetes-native deployment using raw YAML manifests on Minikube
Real-time monitoring with Prometheus and beautiful dashboards in Grafana
Namespace-based separation of Prometheus and Grafana stacks
Manual CD using kubectl apply for controlled rollout

CI/CD with GitHub Actions:

Every push to main triggers
Docker image build
Push to Docker Hub (:latest tag)
Optional K8s deploy (if kubeconfig is provided)

All done securely with GitHub Secrets.

Example Workflow Run:

Github Actions Success

Monitoring & Dashboards:

Prometheus scrapes app metrics from /metrics
Grafana visualizes:
CPU & memory usage
Uptime
Custom app-level metrics

Grafana Dashboard

Prometheus Targets Page

App Running in Browser:

My App

Tech Used:

Node.js · Express · Docker · Kubernetes · GitHub Actions · Prometheus · Grafana · YAML

Repo:

GitHub Repo – Node.js + K8s + CI/CD Monitoring Stack

Credits & Learning Resources:

  • Learned a lot from Abhishek Veeramalla’s DevOps Zero to Hero series on YouTube.

  • Grafana & Prometheus setup was guided by excellent articles from Spacelift.io — their monitoring blogs are a must-read!

What’s Next:

Integrate alerting (Slack/Webhooks)
Extend to GKE or EKS for managed deployment

Have thoughts on how to scale this? Or want to collaborate on DevOps projects? Drop a comment or DM — I’d love to chat!

Top comments (0)