CI/CD Pipeline
Automated continous deployment for modern web applications
Deployment Pipeline
This CI/CD is how I deploy my website. It is a simple pipeline that means I can push code to Github and have everything handled by Google Cloud.
Automated Deployment Flow
GitHub
Source Control
Cloud Build
Build & Test
Cloud Storage
Mirror Github
Cloud Run
Backend Deploy
1. Code Commit
I push code to Github, and Cloud Build is triggered. Cloud Build refers to the Cloud Build YAML file in the root of the repository.
2. Automated Build
Google Cloud Build does 2 tasks: It performs a copy of website to the Cloud Storage bucket, and it builds the backend Docker container for Cloud Run.
3. Security
Automated vulnerability scanning for the container built into Google Cloud, and comprehensive logging for the application building tasks.
4. Artifact Storage
Built images are stored in Google Artifact Registry with version tagging, backups, and rollback capabilities.
5. Deployment
Cloud Run automatically deploys the new version with zero-downtime real-time updates. The static website portion refreshes the cache automatically.
6. Monitoring
Real-time monitoring and alerting with built-in Google Monitoring, Logging, Alerts, and Google Analytics.
Pipeline Benefits
Real-Time Deployments
Automated pipeline reduces deployment time to ~2 minutes with consistent, automatic releases .
Continuous Integration
Every code change is automatically tested and validated using built-in unit tests before reaching end users.
Easy Rollbacks
Github is version controlled, and Google Cloud Build is version controlled. This means rollback to previous versions of the code with a single click.
Collaboration
Standardized deployment process enables simultanuous Github commits without conflicts or manually updating servers.