Automated CI/CD pipeline demonstrating application testing, containerization, continuous integration, and container publishing using GitHub Actions and Docker.
This project is part of the ZonedAccuracy Cloud Portfolio and demonstrates a production-style DevOps workflow for automatically testing, building, and publishing containerized applications.
Developer Push
|
v
GitHub
|
v
GitHub Actions CI
|
+----> Node.js Tests
| |
| v
| 3 Tests Pass
|
+----> Docker Build
|
v
CI Successful
|
v
GitHub Actions CD
|
v
Production Docker Build
|
v
GitHub Container Registry
|
v
Versioned Container Image
Every push or pull request to main automatically:
- Checks out the repository
- Configures Node.js
- Executes automated tests
- Verifies application behavior
- Builds the Docker container
- Prevents CD execution when CI fails
After a successful CI workflow, the CD pipeline automatically:
- Checks out the validated source code
- Configures Docker Buildx
- Authenticates to GitHub Container Registry
- Builds the production container
- Generates container metadata
- Publishes the image to GitHub Container Registry
- Creates
latestand commit SHA image tags
The containerized Node.js service exposes:
GET /
GET /health
Health response:
{
"status": "healthy",
"service": "zonedaccuracy-cicd"
}The test suite verifies:
- Root endpoint availability
- Health endpoint functionality
- HTTP 404 handling
Run locally:
npm testBuild:
docker build -t zonedaccuracy-cicd:1.0.0 .Run:
docker run -d \
--name zonedaccuracy-cicd \
-p 3000:3000 \
zonedaccuracy-cicd:1.0.0Test:
curl http://localhost:3000/health.github/
└── workflows/
├── ci.yml
└── cd.yml
ci.yml
Responsible for automated testing and Docker build validation.
cd.yml
Runs only after successful CI and publishes the validated container image.
- GitHub Actions
- Docker
- GitHub Container Registry
- Node.js
- Git
- GitHub
- YAML
- Linux CI runners
- Continuous Integration
- Continuous Deployment
- Automated testing
- Containerization
- Artifact publishing
- Pipeline dependencies
- Health checks
- Immutable container tagging
- Git-based automation
- CI quality gates
Part of the ZonedAccuracy Cloud Portfolio.
ZonedAccuracy.com