Implementing CI CD Pipeline using Cloud Build ( Google's Serverless CI/CD Platform) and Spinnaker an open source Continuous Delivery platform. It allows us to rapidly iterate and test the code base. High level steps for this pipeline as follows.
- Developer changes code
- Push to Repository with Tag
Cloud Build detects the new Tag -> Build Docker Image -> Run unit Tests -> Push the Docker Image to Artifact Registry.
Spinnaker detects the new image -> Deploy to Canary -> Functional Tests in the Canary Deployment -> Manual Approval -> Deploy to Production
Cloud Build Triggering
Create a Cloud watch Trigger to watch for any Commits with a git Tag Prefixed
We can configure in a way to look for specific branch / pull request of the repository.Which then build the Docker image and Push the Image to the Artifact Registry.
Once Spinnaker detects the new image in the artifact registry, it will deploy to the scaled down staging environment for integration testing to minimize the failures.Once those tests passed, deploy to production will happen.