google/skills

cloud-build-basics

- Teaches the fundamentals of Google Cloud Build (GCB).

View source
Original skill document

Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.

Google Cloud Build Basics

Prerequisites

Before starting, ensure the following prerequisites are met:

  1. Google Cloud SDK: Ensure the Google Cloud SDK is installed and configured.
  2. Authentication: Authenticate the gcloud CLI:
bash
    gcloud auth login
    gcloud auth application-default login
  1. Project ID: Know the target Google Cloud Project ID. Set the context:
bash
    gcloud config set project <PROJECT_ID>
  1. Enable Cloud Build API: The Cloud Build API must be enabled for the project.
bash
    gcloud services enable cloudbuild.googleapis.com
  1. Permissions: Ensure the user or service account has the necessary permissions, such as roles/cloudbuild.builds.editor and roles/serviceusage.serviceUsageAdmin (to enable the API).

Core Concepts

Google Cloud Build (GCB) is a serverless platform that executes your builds on Google Cloud. It translates your source code into deployable artifacts, such as Docker containers or Java archives.

ConceptDescription
`cloudbuild.yaml`The required configuration file that defines the build steps. It is written in YAML or JSON.
Build StepsA sequence of actions (steps) GCB performs. Each step runs a command inside a specific Docker container (the builder). Common builders include gcr.io/cloud-builders/gcloud, gcr.io/cloud-builders/docker, and custom containers.
ArtifactsThe output of the build, typically a container image pushed to Google Container Registry (GCR) or Artifact Registry (AR), or other deployable files.
TriggersAutomation rules that invoke a build in response to an event, such as a push to a Git repository, a Pub/Sub message, or a manual request.

Navigation: Viewing Build History

The Cloud Build Build History page is the central place to monitor the status of past and ongoing builds.

  1. Open the Cloud Console: Navigate to the Google Cloud Console.
  2. Go to Cloud Build: Use the search bar or the navigation menu to find Cloud Build.
  3. Select Build History: In the left navigation pane, select History (or use the direct URL: https://console.cloud.google.com/cloud-build/builds).
  4. Review Builds:
  • Status: Check the status column (SUCCESS, FAILURE, WORKING, QUEUED).
  • Region: Use the region filter at the top to view builds that ran in a specific region (important for regional worker pools).
  • Logs: Click on a specific Build ID to view the detailed logs, execution steps, and build summary. This is crucial for debugging failed builds.
[!NOTE] If this is your first time visiting the page, you might see the "zero-state" experience, which offers options to run a sample build or create your first trigger (as noted in the `cb-list-build-zero-state` skill). Note that region settings for triggers and builds are immutable after creation and must be chosen deliberately.

Creating a Basic Automated Trigger

This process defines an automation rule to run a build whenever code is pushed to a specified Git branch.

Step 1: Start Trigger Creation

  1. Navigate to the Cloud Build Triggers page (https://console.cloud.google.com/cloud-build/triggers).
  2. Click Create trigger.

Step 2: Configure Trigger Settings

  1. Name: Provide a unique, descriptive name (e.g., github-main-branch-build).
  2. Region: Select the region where the trigger configuration will be stored (e.g., global or a specific regional endpoint). Note: Trigger and build region settings are immutable after creation and must be chosen deliberately.
  3. Event: Select the event type. For automated CI/CD, select Push to a branch.
  4. Source: Select the repository source:
  • Repository: Connect your source repository (GitHub, Bitbucket, Cloud Source Repositories, etc.). If needed, authorize the connection.
  • Repository Name: Select the specific repository you want to link.
  1. Branch: Enter the branch pattern (e.g., ^main$ or ^develop).

Step 3: Configure Build Settings

  1. Configuration: Select Cloud Build configuration file (yaml or json).
  2. Location: Keep the default Repository and specify the path to your build configuration file (e.g., cloudbuild.yaml).
  • Alternative: For very simple builds, you can choose Inline to paste the YAML configuration directly into the trigger.
  1. (Optional) Service Account: For production environments, select a dedicated service account with limited permissions to enforce the principle of least privilege.

Step 4: Save and Test

  1. Click Create. The trigger is now active and will run automatically on the next matching Git push.
[!TIP] The cb-create-trigger skill provides detailed gcloud commands for creating triggers across all types (GitHub, Pub/Sub, Webhook) and configurations (inline, Dockerfile, YAML). Use that skill for CLI automation.

Running an Existing Trigger Manually

Sometimes you need to run a trigger on demand, outside of its normal automation flow (e.g., to rebuild an old commit or test a new substitution).

[!IMPORTANT] Substitution Immutability: You can only override values for substitution variables that are already defined in the trigger configuration. You cannot introduce new substitution variable keys at runtime.

Option A: Via the Cloud Console

  1. Navigate to the Cloud Build Triggers page (https://console.cloud.google.com/cloud-build/triggers).
  2. Locate the trigger you wish to run.
  3. Click the vertical ellipsis (⋮) next to the trigger and select Run.
  4. A dialog will appear, allowing you to specify:
  • Source branch/tag: Choose the specific Git reference to build from.
  • Substitution Variables: Override any existing substitution variables (e.g., set _VERSION to a new value).
  1. Click Run trigger. The build will start immediately, and you can monitor its status on the History page.

Option B: Via the gcloud CLI

Use the gcloud builds triggers run command to invoke the trigger and optionally override parameters.

bash
# Run the trigger against the 'main' branch
gcloud builds triggers run <TRIGGER_NAME> \
    --region=<REGION> \
    --branch=main

# Run the trigger and override a substitution variable
gcloud builds triggers run <TRIGGER_NAME> \
    --region=<REGION> \
    --branch=main \
    --substitutions=_IMAGE_TAG="20231027-manual"

# Monitor the initiated build
# Note: The run command outputs the build ID. Use it to check status:
# gcloud builds log <BUILD_ID> --region=<REGION>
[!NOTE] The cb-run-trigger skill provides more complex invocation examples, including running against a specific commit SHA or using tags.

Related Skills

External Resources & Documentation

from this repository

More skills

All skills
google
Community

cloud-logging-query-generation

- Generates Logging Query Language (LQL) queries for Google Cloud Logging from natural language. Use this skill when you need to query log data or when you are debugging issues. You can filter log data by Google Cloud service. Don't use this skill to query other databases, such as SQL or Cloud Spanner.

installs
7
GitHub stars
1.9万
Updated
8月28日
google
Community

cloud-monitoring-chart-generation

- Generates Google Cloud Monitoring Server-Driven UI (SDUI) Widget and XyChart Protocol Buffer textprotos from resolved PromQL or ListTimeSeries queries. Use when: - Generating valid google.monitoring.dashboard.v1.Widget textprotos, containing PrometheusQuery or TimeSeriesFilter datasets, for use with the Cloud Monitoring Dashboards API, gcloud CLI, or declarative dashboard definitions. - Synthesizing Server-Driven UI (SDUI) widget titles, axis labels, and plot types for Prometheus or ListTimeSeries queries. Don't use for: - Metric discovery or PromQL query generation. For those tasks, use the cloud-monitoring-metric-selection or cloud-monitoring-promql-query skills.

installs
7
GitHub stars
1.9万
Updated
8月28日
google
Community

cloud-monitoring-metric-selection

- Retrieve, query, and identify relevant Google Cloud Monitoring metric descriptors for a GCP service or resource (such as Compute Engine, Spanner, BigQuery, Cloud Run, Cloud SQL, Pub/Sub, Cloud Storage, etc.). Use when asked to find, list, search, or discover GCP metric types, names, kind/value schemas, or descriptors.

installs
7
GitHub stars
1.9万
Updated
8月28日
google
Community

cloud-monitoring-promql-query

- Generates valid PromQL queries from Cloud Monitoring metric descriptors and resource parameters. Use when asked to create, generate, write, or format PromQL queries, PromQL strings, or PromQL aggregations for Cloud Monitoring metrics and resources. Don't use for raw metric discovery or metric selection.

installs
7
GitHub stars
1.9万
Updated
8月28日