Google Cloud Deploy adds Cloud Run and deployment verification support
Google Cloud customers want to be able to easily deploy their applications to the full breadth of platforms that Google offer, including Cloud Run. And when they push out code to production, they want confirmation that the deployment was successful.
Today, Google are pleased to announce the general availability of Cloud Run targets and deployment verification for Google Cloud Deploy.
Deploy to Cloud Run
Support for Cloud Run, our managed serverless container runtime, has been a top feature request for Google Cloud Deploy. It’s not hard to understand why: Adding a Cloud Run target to Google Cloud Deploy makes it easier to develop and deliver your enterprise applications.
Generally available, delivery pipelines can now specify and deploy to Cloud Run targets, enabling continuous delivery of Cloud Run services.
All the continuous delivery capabilities that Google Cloud Deploy provides for other targets — rollback, approval, audit, and delivery metrics, to name just a few — are also available for Cloud Run targets. This consistency and feature parity allows platform operators and application developers to manage and reason about their application delivery pipelines in the same way, regardless of the runtime target.
This consistency is enabled by Skaffold, an open-source cloud-native tool developed by Google that’s the foundation of Cloud Deploy. With the recent 2.0 beta 2 release, Skaffold users can now develop and deploy Cloud Run services just as they already do for Google Kubernetes Engine and Anthos clusters, making Skaffold workflows a consistent point of adoption and extension for Google Cloud Deploy.
Continuous delivery pipeline with two Cloud Run targets
Verify your deployment
The success or failure of a deployment frequently involves more than just rolling out an artifact to a target platform — it also involves testing to further confirm the deployment, often in the form of automated integration and canary testing.
Customers told us they wanted formal support for deployment verification within Google Cloud Deploy. And when a deployment succeeds but a post-deployment verification test fails, the rollout should be identified as a failure, too.
Within Google Cloud Deploy, you can now specify one or more (testing) containers to execute immediately when an application is successfully deployed. This deployment verification support within Google Cloud Deploy is based on Skaffold 2.0’s recently introduced verify command. You can use any process that runs in a container to verify the state of the application. An example could be as simple as issuing a curl command, or more complex, like validating all of the links via a third-party tool, or even gathering performance metrics. Verifying a deployment is as easy as configuring Skaffold to test the deployment (“command”), then specifying a ‘verify: true’ in the Cloud Deploy delivery pipeline’s progression sequence.
As with render and deploy operations, deployment verification in Google Cloud Deploy is performed in its own execution environment. This allows for custom verification configurations using a specified worker pool or service account, and storing results in a preferred Cloud Storage location. Verification results are factored in when determining whether the rollout was a success or failure. When a deployment verification failure occurs, it’s easy to inspect the logs and, if necessary, rerun the deployment verification without having to re-deploy.
Deployment verification is available for all target types, including Cloud Run.
Deployment verification status and results in rollout details
The future
Comprehensive, easy-to-use, and cost-effective DevOps tools are key to building an efficient software delivery capability, and it’s our hope that Google Cloud Deploy will help you implement complete CI/CD pipelines. And Google are just getting started. Stay tuned as Google introduce exciting new capabilities and features to Google Cloud Deploy in the months to come.