Bird
Raised Fist0
GCPcloud~5 mins

Build triggers configuration in GCP - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a build trigger in Google Cloud Build?
A build trigger automatically starts a build when certain events happen, like code changes in a repository.
Click to reveal answer
beginner
Name two common event types that can start a build trigger.
Push to a branch and creation of a pull request are common events that start build triggers.
Click to reveal answer
beginner
Why use build triggers instead of manual builds?
Build triggers save time and reduce errors by automatically running builds when code changes, ensuring up-to-date testing and deployment.
Click to reveal answer
beginner
What is a common source repository supported by Google Cloud Build triggers?
Google Cloud Build supports repositories like GitHub, Bitbucket, and Google Cloud Source Repositories for triggers.
Click to reveal answer
beginner
How do you specify which branch a build trigger listens to?
You set a branch filter in the trigger configuration to listen for changes only on that branch.
Click to reveal answer
What event can start a Google Cloud Build trigger?
ACode push to a repository branch
BManual server restart
CUser login to Google Cloud Console
DDatabase backup completion
Which repository is NOT supported by Google Cloud Build triggers by default?
ALocal file system
BBitbucket
CGitHub
DGoogle Cloud Source Repositories
How do you limit a build trigger to only run on a specific branch?
AUse a different repository
BManually start builds on that branch
CSet a branch filter in the trigger configuration
DDisable triggers on other branches
What is the main benefit of using build triggers?
AReduce cloud storage costs
BLimit user access
CIncrease manual testing
DAutomate builds on code changes
Which of these is NOT a typical trigger event?
ACode push
BBuild completion
CPull request creation
DBranch deletion
Explain how build triggers help automate software builds in Google Cloud.
Think about what happens when you push code to a repository.
You got /4 concepts.
    Describe the steps to configure a build trigger for a GitHub repository branch.
    Consider what you need to tell Google Cloud Build to watch and how to build.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of a build trigger in Google Cloud Build?
      easy
      A. To monitor server health
      B. To manually deploy an application
      C. To automatically start a build when code changes occur
      D. To create a new repository

      Solution

      1. Step 1: Understand build triggers role

        Build triggers watch for code changes and start builds automatically.
      2. Step 2: Compare options with purpose

        Only To automatically start a build when code changes occur describes automatic build start on code changes.
      3. Final Answer:

        To automatically start a build when code changes occur -> Option C
      4. Quick Check:

        Build trigger = auto build start [OK]
      Hint: Build triggers start builds automatically on code changes [OK]
      Common Mistakes:
      • Confusing triggers with manual deployment
      • Thinking triggers monitor servers
      • Assuming triggers create repositories
      2. Which of the following is the correct syntax to specify a branch filter in a Cloud Build trigger YAML?
      easy
      A. trigger: branchName: "^main$"
      B. trigger: branchName: "main"
      C. trigger: branch: "main"
      D. trigger: branchFilter: "main"

      Solution

      1. Step 1: Identify correct branch filter syntax

        Cloud Build uses regex in branchName to filter branches.
      2. Step 2: Match regex syntax for main branch

        "^main$" matches exactly the main branch name.
      3. Final Answer:

        trigger: branchName: "^main$" -> Option A
      4. Quick Check:

        branchName uses regex = trigger: branchName: "^main$" [OK]
      Hint: Use regex in branchName to filter branches [OK]
      Common Mistakes:
      • Using branch instead of branchName
      • Not using regex anchors ^ and $
      • Using incorrect field like branchFilter
      3. Given this trigger configuration snippet:
      trigger:
        branchName: "^release-.*$"
        build:
          steps:
          - name: "gcr.io/cloud-builders/docker"
            args: ["build", "-t", "gcr.io/my-project/my-app:$SHORT_SHA", "."]

      What happens when a commit is pushed to branch release-v1.2?
      medium
      A. The build fails due to syntax error
      B. The build starts and tags the image with the commit SHA
      C. The build starts but tags the image with 'latest'
      D. The build does not start because branch name does not match

      Solution

      1. Step 1: Check branchName regex against branch

        Regex "^release-.*$" matches any branch starting with 'release-', so 'release-v1.2' matches.
      2. Step 2: Understand build step and tagging

        The build uses $SHORT_SHA to tag the image, so image is tagged with commit SHA.
      3. Final Answer:

        The build starts and tags the image with the commit SHA -> Option B
      4. Quick Check:

        Branch matches regex and tags with SHA = The build starts and tags the image with the commit SHA [OK]
      Hint: Regex matches branch, build tags image with commit SHA [OK]
      Common Mistakes:
      • Assuming branch does not match regex
      • Thinking image tags as 'latest'
      • Confusing syntax error with correct YAML
      4. You configured a build trigger with this YAML snippet:
      trigger:
        branchName: "main"
        build:
          steps:
          - name: "gcr.io/cloud-builders/gcloud"
            args: ["app", "deploy"]

      But the build never starts when you push to main. What is the likely error?
      medium
      A. The build steps are missing the Docker build command
      B. The trigger YAML is missing the substitutions field
      C. The trigger must specify a tagName instead of branchName
      D. branchName should be a regex like "^main$"

      Solution

      1. Step 1: Check branchName format in trigger

        Cloud Build expects branchName as a regex pattern, not plain string.
      2. Step 2: Correct branchName to regex

        Changing branchName to "^main$" matches exactly the main branch and triggers build.
      3. Final Answer:

        branchName should be a regex like "^main$" -> Option D
      4. Quick Check:

        branchName needs regex = branchName should be a regex like "^main$" [OK]
      Hint: branchName must be regex, not plain text [OK]
      Common Mistakes:
      • Using plain branch name without regex anchors
      • Confusing branchName with tagName
      • Thinking substitutions are mandatory
      5. You want to create a build trigger that starts only when a tag matching v* is pushed, and the build should run two steps: first build a Docker image, then deploy it. Which YAML snippet correctly configures this trigger?
      hard
      A. trigger: tagName: "^v.*$" build: steps: - name: "gcr.io/cloud-builders/docker" args: ["build", "-t", "gcr.io/my-project/my-app:$TAG_NAME", "."] - name: "gcr.io/cloud-builders/gcloud" args: ["app", "deploy"]
      B. trigger: branchName: "^v.*$" build: steps: - name: "gcr.io/cloud-builders/docker" args: ["build", "-t", "gcr.io/my-project/my-app:$TAG_NAME", "."] - name: "gcr.io/cloud-builders/gcloud" args: ["app", "deploy"]
      C. trigger: tagName: "v*" build: steps: - name: "gcr.io/cloud-builders/gcloud" args: ["app", "deploy"]
      D. trigger: tagName: "^v.*$" build: steps: - name: "gcr.io/cloud-builders/docker" args: ["build", "-t", "gcr.io/my-project/my-app:latest", "."]

      Solution

      1. Step 1: Identify correct tag filter syntax

        Use tagName with regex "^v.*$" to match tags starting with 'v'.
      2. Step 2: Verify build steps order and commands

        First step builds Docker image tagged with $TAG_NAME, second step deploys app.
      3. Step 3: Check for errors in other options

        trigger: branchName: "^v.*$" build: steps: - name: "gcr.io/cloud-builders/docker" args: ["build", "-t", "gcr.io/my-project/my-app:$TAG_NAME", "."] - name: "gcr.io/cloud-builders/gcloud" args: ["app", "deploy"] uses branchName instead of tagName, C misses Docker build step, D tags image as latest without deploy step.
      4. Final Answer:

        trigger: tagName: "^v.*$" build: steps: - name: "gcr.io/cloud-builders/docker" args: ["build", "-t", "gcr.io/my-project/my-app:$TAG_NAME", "."] - name: "gcr.io/cloud-builders/gcloud" args: ["app", "deploy"] -> Option A
      5. Quick Check:

        tagName regex and two steps build+deploy = trigger: tagName: "^v.*$" build: steps: - name: "gcr.io/cloud-builders/docker" args: ["build", "-t", "gcr.io/my-project/my-app:$TAG_NAME", "."] - name: "gcr.io/cloud-builders/gcloud" args: ["app", "deploy"] [OK]
      Hint: Use tagName regex and list all build steps in order [OK]
      Common Mistakes:
      • Using branchName instead of tagName for tags
      • Missing one of the required build steps
      • Incorrect tagName regex syntax
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard