CI/CD is implemented using GitHub Actions.
- Pipeline triggers on Pull Requests to
developandmain - Dependencies are installed
- Syntax validation is performed
- Docker image build is tested
- Container health endpoint is validated
If any step fails, the PR cannot be safely merged.
- Push to
developtriggers staging deployment - Push to
maintriggers production deployment - Deployment happens via SSH into Azure VM
- Docker container is rebuilt and restarted
This ensures continuous delivery with minimal manual intervention.
- Docker image is built and container health endpoint is validated during CI stage.
- SSH based deployment ensures immutable infrastructure pattern where container is recreated on each release.