Book Image

Cloud Native Automation with Google Cloud Build

By : Anthony Bushong, Kent Hua
Book Image

Cloud Native Automation with Google Cloud Build

By: Anthony Bushong, Kent Hua

Overview of this book

When adopting cloud infrastructure, you are often looking to modernize the automation of workflows such as continuous integration and software delivery. Minimizing operational overhead via fully managed solutions such as Cloud Build can be tough. Moreover, learning Cloud Build’s API and build schema, scalability, security, and integrating Cloud Build with other external systems can be challenging. This book helps you to overcome these challenges by cementing a Google Cloud Build foundation. The book starts with an introduction to Google Cloud Build and explains how it brings value via automation. You will then configure the architecture and environment in which builds run while learning how to execute these builds. Next, you will focus on writing and configuring fully featured builds and executing them securely. You will also review Cloud Build's functionality with practical applications and set up a secure delivery pipeline for GKE. Moving ahead, you will learn how to manage safe roll outs of cloud infrastructure with Terraform. Later, you will build a workflow from local source to production in Cloud Run. Finally, you will integrate Cloud Build with external systems while leveraging Cloud Deploy to manage roll outs. By the end of this book, you’ll be able to automate workflows securely by leveraging the principles of Google Cloud Build.
Table of Contents (18 chapters)
1
Part 1: The Fundamentals
5
Part 2: Deconstructing a Build
9
Part 3: Practical Applications
14
Part 4: Looking Forward

The anatomy of a trigger

A Cloud Build trigger requires a few pieces of information at a minimum in order to be properly configured. A trigger requires the following data points:

  • Name
  • Region
  • Event triggers (defaults to Push to a branch):
    • Push to a branch
    • Push new tag
    • Pull request
    • Other mechanisms
    • Manual invocation – triggered via the GCP console or automated means (CLI, REST, or SDK)
    • Google Cloud Pub/Sub message
    • Webhook event – which is an HTTP post to a designated URL
  • Source repository
  • Source branch/tag:
    • Regular expressions can be used to determine which branch/tag names trigger an event.
  • Cloud Build configuration file (defaults to cloudbuild.yaml):
    • Dockerfile – if you want to build a container
    • Buildpacks – which can detect the source code language and build a container based on the defined specification

Other fields can also play a vital role in helping to customize the trigger:

  • Variables – used for substitution...