This project demonstrates a simple but practical CI/CD pipeline for a Node.js application using Docker and GitHub Actions.
It simulates real-world DevOps CI practices such as automated builds, testing, and containerization triggered by code changes.
The main goal of this project is to showcase hands-on DevOps skills rather than application complexity.
- Automated CI pipeline triggered on every push
- Dockerized Node.js application
- Automated build and test process
- Reproducible containerized environment
- Version-controlled CI workflow using GitHub Actions
- Node.js
- Docker
- GitHub Actions
- Git & GitHub
- Linux
nodejs-ci-docker-pipeline/
│
├── .github/
│ └── workflows/
│ └── ci.yml
├── Dockerfile
├── app.js
├── test.js
├── package.json
└── README.md
⚙️ CI Pipeline Workflow
The CI pipeline runs automatically on every push and performs the following steps:
Checkout source code
Install Node.js dependencies
Run automated tests
Build Docker image for the application
🐳 Docker Usage
Build Docker Image
docker build -t nodejs-ci-app .
Run Docker Container
docker run -p 3000:3000 nodejs-ci-app
🎯 Project Purpose
This project is designed for:
Practicing CI/CD fundamentals
Demonstrating Docker-based application delivery
Understanding GitHub Actions workflows
Preparing for Junior DevOps roles
👤 Author
Mahmoud Elshazly
Junior DevOps Engineer / IT Support Trainee
GitHub: https://github.com/mahmoudelshazly55