google.cloud.gcp_cloudbuild_trigger 模块 – 创建 GCP 触发器

注意

此模块是 google.cloud 集合(版本 1.4.1)的一部分。

如果您正在使用 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install google.cloud。您需要其他要求才能使用此模块,请参阅 要求 了解详细信息。

要在 playbook 中使用它,请指定:google.cloud.gcp_cloudbuild_trigger

注意

由于违反了 Ansible 包含要求,google.cloud 集合将从 Ansible 12 中删除。该集合有 未解决的健全性测试失败。有关详细信息,请参阅讨论线程

概要

  • 响应于源存储库更改的自动化构建的配置。

要求

执行此模块的主机需要以下要求。

  • python >= 2.6

  • requests >= 2.18.4

  • google-auth >= 1.3.0

参数

参数

注释

access_token

字符串

如果凭证类型为 accesstoken,则为 OAuth2 访问令牌。

auth_kind

字符串 / 必需

使用的凭证类型。

选择

  • "application"

  • "machineaccount"

  • "serviceaccount"

  • "accesstoken"

build

字典

构建模板的内容。必须提供文件名或构建模板。

artifacts

字典

构建生成的产品,应在所有构建步骤成功完成后上传。

images

列表 / 元素=字符串

在所有构建步骤成功完成后要推送的映像列表。

映像将使用构建器服务帐户的凭证进行推送。

推送的映像的摘要将存储在构建资源的 results 字段中。

如果任何映像无法推送,则构建将标记为 FAILURE。

objects

字典

在所有构建步骤成功完成后要上传到 Cloud Storage 的对象列表。

工作区中与指定路径 glob 匹配的文件将使用构建器服务帐户的凭证上传到 Cloud Storage 位置。

上传对象的位置和生成将存储在构建资源的 results 字段中。

如果任何对象无法推送,则构建将标记为 FAILURE。

location

字符串

Cloud Storage 存储桶和可选对象路径,格式为“gs://bucket/path/to/somewhere/”。

工作区中与任何路径模式匹配的文件将以上述位置作为前缀上传到 Cloud Storage。

paths

列表 / 元素=字符串

用于匹配构建工作区中文件的路径 glob。

images

列表 / 元素=字符串

在所有构建步骤成功完成后要推送的映像列表。

映像将使用构建器服务帐户的凭证进行推送。

推送的映像的摘要将存储在构建资源的 results 字段中。

如果任何映像无法推送,则构建状态将标记为 FAILURE。

logs_bucket

字符串

应在其中写入日志的 Google Cloud Storage 存储桶。日志文件名将采用 ${logsBucket}/log-${build_id}.txt 格式。

options

字典

此构建的特殊选项。

disk_size_gb

整数

运行构建的虚拟机的请求磁盘大小。请注意,这 NOT 是“磁盘可用空间”;操作系统和构建实用程序会使用一些空间。

另请注意,这是将为构建分配的最小磁盘大小 - 构建可以使用比请求更大的磁盘运行。目前,最大磁盘大小为 1000GB;请求超过最大值的构建将被拒绝并出现错误。

dynamic_substitutions

布尔值

指定是否对替换应用 bash 样式字符串操作的选项。

注意:对于触发的构建,此选项始终启用,并且无法在构建配置文件中覆盖。

选择

  • false

  • true

env

列表 / 元素=字符串

一个全局环境变量定义列表,这些定义将存在于此构建中的所有构建步骤中。如果一个变量在全局和构建步骤中都定义了,则该变量将使用构建步骤的值。

元素采用“KEY=VALUE”的形式,表示环境变量“KEY”被赋予值“VALUE”。

log_streaming_option

字符串

定义构建日志流式传输到 Google Cloud Storage 的行为的选项。

一些有效的选择包括:“STREAM_DEFAULT”、“STREAM_ON”、“STREAM_OFF”

logging

字符串

指定日志记录模式的选项,该模式确定是否以及在何处存储构建日志。

一些有效的选择包括:“LOGGING_UNSPECIFIED”、“LEGACY”、“GCS_ONLY”、“STACKDRIVER_ONLY”、“NONE”

machine_type

字符串

运行构建的 Compute Engine 机器类型。

一些有效的选择包括:“UNSPECIFIED”、“N1_HIGHCPU_8”、“N1_HIGHCPU_32”、“E2_HIGHCPU_8”、“E2_HIGHCPU_32”

requested_verify_option

字符串

请求的可验证性选项。

一些有效的选择包括:“NOT_VERIFIED”、“VERIFIED”

secret_env

列表 / 元素=字符串

一个全局环境变量列表,这些变量使用 Cloud Key Management Service 加密密钥进行加密。这些值必须在构建的 Secret 中指定。这些变量将在此构建中的所有构建步骤中可用。

source_provenance_hash

列表 / 元素=字符串

SourceProvenance 的请求哈希。

substitution_option

字符串

指定在替换检查中出现错误时的行为的选项。

注意:对于触发的构建,此选项始终设置为 ALLOW_LOOSE,并且无法在构建配置文件中覆盖。

一些有效的选择包括:“MUST_MATCH”、“ALLOW_LOOSE”

volumes

列表 / 元素=字典

要为所有构建步骤挂载的全局卷列表。每个卷在开始构建过程之前都会创建为空卷。

构建完成后,卷及其内容将被丢弃。全局卷名称和路径不能与构建步骤中定义的卷冲突。

在只有一个步骤的构建中使用全局卷是无效的,因为它表明构建请求配置不正确。

name

字符串

要挂载的卷的名称。

每个构建步骤的卷名称必须唯一,并且必须是 Docker 卷的有效名称。

每个命名的卷必须由至少两个构建步骤使用。

path

字符串

挂载卷的路径。

路径必须是绝对路径,并且不能与同一构建步骤上的其他卷路径或某些保留卷路径冲突。

worker_pool

字符串

为构建指定 WorkerPool 的选项。格式为 projects/{project}/workerPools/{workerPool}。此字段是实验性的。

queue_ttl

字符串

此构建在队列中的 TTL。如果提供且构建在队列中排队的时间长于此值,则构建将过期,并且构建状态将为 EXPIRED。

TTL 从 createTime 开始计时。

以秒为单位的持续时间,最多可有九个小数位,以 's' 结尾。例如:“3.5s”。

密钥

列表 / 元素=字典

使用 Cloud Key Management Service 解密的密钥。

kms_key_name

字符串 / 必需

用于解密这些环境变量的 Cloud KMS 密钥名称。

secret_env

字典

环境变量名称与其加密值的映射。

密钥环境变量在一个构建的所有密钥中必须是唯一的,并且必须至少被一个构建步骤使用。值的大小最大为 64 KB。一个构建的所有密钥中最多可以有 100 个密钥值。

source

字典

要构建的源文件的位置。

repo_source

字典

Google Cloud Source Repository 中源代码的位置。

branch_name

字符串

匹配要构建的分支的正则表达式。必须提供分支名称、标签或提交 SHA 中的一个。

所接受的正则表达式的语法是 RE2 接受的语法,详见 https://github.com/google/re2/wiki/Syntax

commit_sha

字符串

要构建的显式提交 SHA。必须提供分支名称、标签或提交 SHA 中的一个。

dir

字符串

相对于源根目录的、在其中运行构建的目录。

这必须是相对路径。如果指定了步骤的 dir 并且是绝对路径,则该值将在此步骤的执行中被忽略。

invert_regex

布尔值

仅当修订版正则表达式与修订版正则表达式不匹配时才触发构建。

选择

  • false

  • true

project_id

字符串

拥有 Cloud Source Repository 的项目的 ID。如果省略,则假定为请求构建的项目 ID。

repo_name

字符串 / 必需

Cloud Source Repository 的名称。

substitutions

字典

要在触发的构建中使用的替换。应仅与 `triggers.run` 一起使用。

tag_name

字符串

匹配要构建的标签的正则表达式。必须提供分支名称、标签或提交 SHA 中的一个。

所接受的正则表达式的语法是 RE2 接受的语法,详见 https://github.com/google/re2/wiki/Syntax

storage_source

字典

Google Cloud Storage 中存档文件中源代码的位置。

bucket

字符串 / 必需

包含源代码的 Google Cloud Storage 存储桶。

generation

字符串

该对象的 Google Cloud Storage 生成版本。如果省略生成版本,将使用最新一代版本。

object

字符串 / 必需

包含源代码的 Google Cloud Storage 对象。

此对象必须是包含要构建的源代码的 gzip 压缩存档文件 (.tar.gz)。

steps

列表 / 元素=字典 / 必需

要在工作区上执行的操作。

args

列表 / 元素=字符串

启动步骤时将提供给该步骤的参数列表。

如果用于运行步骤容器的映像具有入口点,则 args 将用作该入口点的参数。如果映像未定义入口点,则 args 中的第一个元素将用作入口点,其余元素将用作参数。

dir

字符串

运行此步骤的容器时要使用的工作目录。

如果此值是相对路径,则它是相对于构建的工作目录的。如果此值是绝对路径,则它可能位于构建的工作目录之外,在这种情况下,除非为此路径指定了 `volume`,否则该路径的内容可能不会在构建步骤执行之间保留。

如果构建使用带有 `dir` 的 `RepoSource` 和带有 `dir` 的步骤,且该 `dir` 指定了绝对路径,则 `RepoSource` 的 `dir` 将在该步骤的执行中被忽略。

entrypoint

字符串

要使用的入口点,而不是构建步骤映像的默认入口点。

如果未设置,则使用映像的默认入口点。

env

列表 / 元素=字符串

要在运行步骤时使用的环境变量定义列表。

元素采用“KEY=VALUE”的形式,表示环境变量“KEY”被赋予值“VALUE”。

id

字符串

此构建步骤的唯一标识符,用于 `wait_for` 中将此构建步骤引用为依赖项。

name

字符串 / 必需

将运行此特定构建步骤的容器映像的名称。

如果该映像在主机的 Docker 守护程序的缓存中可用,则将直接运行它。如果不可用,则主机将尝试首先拉取该映像,必要时使用构建器服务帐户的凭据。

Docker 守护程序的缓存将已经具有所有官方支持的构建步骤的最新版本(有关映像和示例,请参阅 https://github.com/GoogleCloudPlatform/cloud-builders)。

Docker 守护程序还将缓存一些常用映像(如“ubuntu”、“debian”)的许多层,但它们会在您尝试使用它们时刷新。

如果您在之前的构建步骤中构建了映像,它将存储在主机的 Docker 守护程序的缓存中,并且可以用作稍后构建步骤的名称。

secret_env

列表 / 元素=字符串

使用 Cloud Key Management Service 加密密钥加密的环境变量列表。这些值必须在构建的 `Secret` 中指定。

timeout

字符串

执行此构建步骤的时间限制。如果未定义,则该步骤没有时间限制,并且将被允许继续运行,直到它完成或构建本身超时。

timing

字符串

仅限输出。存储执行此构建步骤的计时信息。

volumes

列表 / 元素=字典

要装载到构建步骤中的卷列表。

每个卷在执行构建步骤之前都创建为空卷。构建完成后,卷及其内容将被丢弃。

仅在一个步骤中使用命名卷是无效的,因为它表示具有不正确配置的构建请求。

name

字符串 / 必需

要挂载的卷的名称。

每个构建步骤的卷名称必须唯一,并且必须是 Docker 卷的有效名称。每个命名卷必须至少被两个构建步骤使用。

path

字符串 / 必需

挂载卷的路径。

路径必须是绝对路径,并且不能与同一构建步骤上的其他卷路径或某些保留卷路径冲突。

wait_for

列表 / 元素=字符串

此构建步骤所依赖的步骤的 ID。

此构建步骤只有在 `wait_for` 中的所有构建步骤都成功完成后才会启动。如果 `wait_for` 为空,则此构建步骤将在 `Build.Steps` 列表中所有先前的构建步骤都成功完成后启动。

substitutions

字典

构建资源的替换数据。

tags

列表 / 元素=字符串

用于注释构建的标签。这些不是 docker 标签。

timeout

字符串

允许此构建运行的时间量,精确到秒。

如果此时间量已过,则构建工作将停止,并且构建状态将为 TIMEOUT。

此超时必须等于或大于构建中构建步骤的超时总和。

预期格式是秒数后跟 s。

默认时间为十分钟 (600s)。

默认值: "600s"

description

字符串

触发器的人工可读描述。

disabled

布尔值

是否禁用触发器。如果为 true,则触发器将永远不会导致构建。

选择

  • false

  • true

env_type

字符串

指定您在此模块中运行的 Ansible 环境。

除非您知道自己在做什么,否则不应设置此项。

这只会更改任何 API 请求的用户代理字符串。

filename

字符串

从源根目录到文件的路径,该文件的内容用于模板。必须提供文件名或构建模板。

github

字典

描述每当收到 GitHub 事件时创建构建的触发器的配置。

name

字符串

存储库的名称。例如:https://github.com/googlecloudplatform/cloud-builders 的名称为“cloud-builders”。

owner

字符串

存储库的所有者。例如:https://github.com/googlecloudplatform/cloud-builders 的所有者是“googlecloudplatform”。

pull_request

字典

用于匹配拉取请求中更改的过滤器。仅指定 pullRequest 或 push 中的一个。

branch

字符串 / 必需

要匹配的分支的正则表达式。

comment_control

字符串

是否阻止来自存储库所有者或协作者的“/gcbrun”评论触发构建。

一些有效的选择包括:“COMMENTS_DISABLED”、“COMMENTS_ENABLED”、“COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY”

invert_regex

布尔值

如果为 true,则与 git_ref 不匹配的分支将触发构建。

选择

  • false

  • true

push

字典

用于匹配 refs(如分支或标签)中更改的过滤器。仅指定 pullRequest 或 push 中的一个。

branch

字符串

要匹配的分支的正则表达式。仅指定 branch 或 tag 中的一个。

invert_regex

布尔值

如果为 true,则仅当修订版正则表达式与 git_ref 正则表达式不匹配时才触发构建。

选择

  • false

  • true

tag

字符串

要匹配的标签的正则表达式。仅指定 branch 或 tag 中的一个。

id

字符串

触发器的唯一标识符。

ignored_files

列表 / 元素=字符串

ignoredFiles 和 includedFiles 是使用 https://golang.ac.cn/pkg/path/filepath/#Match 扩展的、支持 `**` 的文件 glob 匹配。

如果 ignoredFiles 和已更改的文件都为空,则它们不用于确定是否触发构建。

如果 ignoredFiles 不为空,则我们会忽略任何与任何 ignored_file glob 匹配的文件。如果更改没有超出 ignoredFiles glob 的文件,则我们不会触发构建。

included_files

列表 / 元素=字符串

ignoredFiles 和 includedFiles 是使用 https://golang.ac.cn/pkg/path/filepath/#Match 扩展的、支持 `**` 的文件 glob 匹配。

如果提交中更改的任何文件通过了 ignoredFiles 过滤器,并且 includedFiles 为空,那么就此过滤器而言,我们应该触发构建。

如果提交中更改的任何文件通过了 ignoredFiles 过滤器,并且 includedFiles 不为空,则我们要确保至少有一个文件与 includedFiles glob 匹配。如果没有,则我们不会触发构建。

name

字符串

触发器的名称。在项目中必须是唯一的。

project

字符串

要使用的 Google Cloud Platform 项目。

pubsub_config

字典

PubsubConfig 描述了每当发布 Pub/Sub 消息时创建构建的触发器的配置。

service_account_email

字符串

将发出推送请求的服务帐户。

topic

字符串 / 必需

此订阅从中接收消息的主题的名称。

scopes

列表 / 元素=字符串

要使用的作用域数组

service_account_contents

jsonarg

服务帐户 JSON 文件的内容,可以作为字典或表示它的 JSON 字符串。

service_account_email

字符串

如果选择了 machineaccount 并且用户不希望使用默认电子邮件地址,则可以选择提供服务帐户电子邮件地址。

service_account_file

path

如果选择了 serviceaccount 作为类型,则为服务帐户 JSON 文件的路径。

state

字符串

给定对象是否应存在于 GCP 中

选择

  • "present" ← (默认)

  • “absent”

substitutions

字典

构建资源的替换数据。

tags

列表 / 元素=字符串

用于注释 BuildTrigger 的标签。

trigger_template

字典

描述用于触发构建的源更改类型的模板。

触发器模板中的分支和标签名称被解释为正则表达式。任何与该正则表达式匹配的分支或标签更改都会触发构建。

branch_name

字符串

要构建的分支的名称。必须提供分支名称、标签或提交 SHA 中的一个,且仅能提供一个。

此字段是一个正则表达式。

commit_sha

字符串

要构建的显式提交 SHA。必须提供分支名称、标签或提交 SHA 中的一个,且仅能提供一个。

dir

字符串

相对于源根目录的、在其中运行构建的目录。

这必须是相对路径。如果指定了步骤的 dir 并且是绝对路径,则该值将在此步骤的执行中被忽略。

invert_regex

布尔值

仅当修订版正则表达式与修订版正则表达式不匹配时才触发构建。

选择

  • false

  • true

project_id

字符串

拥有 Cloud Source Repository 的项目的 ID。如果省略,则假定为请求构建的项目 ID。

repo_name

字符串

Cloud Source Repository 的名称。如果省略,则假定名称为“default”。

默认值: "default"

tag_name

字符串

要构建的标签的名称。必须提供分支名称、标签或提交 SHA 中的一个,且仅能提供一个。

此字段是一个正则表达式。

webhook_config

字典

WebhookConfig 描述了触发器的配置,该配置在将 webhook 发送到触发器的 webhook URL 时创建构建。

secret

字符串 / 必需

作为 URL 参数所需的密钥的资源名称。

说明

注意

  • API 参考: https://cloud.google.com/cloud-build/docs/api/reference/rest/v1/projects.triggers

  • 使用构建触发器自动化构建: https://cloud.google.com/cloud-build/docs/running-builds/automate-builds

  • 对于身份验证,您可以使用 GCP_SERVICE_ACCOUNT_FILE 环境变量设置 service_account_file。

  • 对于身份验证,您可以使用 GCP_SERVICE_ACCOUNT_CONTENTS 环境变量设置 service_account_contents。

  • 对于身份验证,您可以使用 GCP_SERVICE_ACCOUNT_EMAIL 环境变量设置 service_account_email。

  • 对于身份验证,您可以使用 GCP_ACCESS_TOKEN 环境变量设置 access_token。

  • 对于身份验证,您可以使用 GCP_AUTH_KIND 环境变量设置 auth_kind。

  • 对于身份验证,您可以使用 GCP_SCOPES 环境变量设置 scopes。

  • 只有在未设置 playbook 值时,才会使用环境变量值。

  • service_account_emailservice_account_file 选项是互斥的。

  • 此资源的 ID 由 API 在您首次创建资源后创建。如果您想在创建后管理此资源,则必须将生成的 ID 复制到 playbook 中。如果您不这样做,则在后续运行时将创建新的触发器。

示例

- name: create a repository
  google.cloud.gcp_sourcerepo_repository:
    name: projects/{{ gcp_project }}/repos/{{ resource_name }}
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present

- name: create a trigger
  google.cloud.gcp_cloudbuild_trigger:
    trigger_template:
      branch_name: master
      project_id: test_project
      repo_name: test_object
    filename: cloudbuild.yaml
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

返回值

通用返回值记录在此处 这里,以下是此模块独有的字段

描述

build

复杂

构建模板的内容。必须提供文件名或构建模板。

返回: 成功

artifacts

复杂

构建生成的产品,应在所有构建步骤成功完成后上传。

返回: 成功

images

列表 / 元素=字符串

在所有构建步骤成功完成后要推送的映像列表。

映像将使用构建器服务帐户的凭证进行推送。

推送的映像的摘要将存储在构建资源的 results 字段中。

如果任何映像无法推送,则构建将标记为 FAILURE。

返回: 成功

objects

复杂

在所有构建步骤成功完成后要上传到 Cloud Storage 的对象列表。

工作区中与指定路径 glob 匹配的文件将使用构建器服务帐户的凭证上传到 Cloud Storage 位置。

上传对象的位置和生成将存储在构建资源的 results 字段中。

如果任何对象无法推送,则构建将标记为 FAILURE。

返回: 成功

location

字符串

Cloud Storage 存储桶和可选对象路径,格式为“gs://bucket/path/to/somewhere/”。

工作区中与任何路径模式匹配的文件将以上述位置作为前缀上传到 Cloud Storage。

返回: 成功

paths

列表 / 元素=字符串

用于匹配构建工作区中文件的路径 glob。

返回: 成功

timing

复杂

仅输出。存储用于推送所有工件对象的时间信息。

返回: 成功

endTime

字符串

时间跨度的结束时间。

采用 RFC3339 UTC “祖鲁” 格式的时间戳,具有纳秒分辨率和最多九个小数位。示例:“2014-10-02T15:01:23Z” 和 “2014-10-02T15:01:23.045123456Z”。

返回: 成功

startTime

字符串

时间跨度的开始时间。

采用 RFC3339 UTC “祖鲁” 格式的时间戳,具有纳秒分辨率和最多九个小数位。示例:“2014-10-02T15:01:23Z” 和 “2014-10-02T15:01:23.045123456Z”。

返回: 成功

images

列表 / 元素=字符串

在所有构建步骤成功完成后要推送的映像列表。

映像将使用构建器服务帐户的凭证进行推送。

推送的映像的摘要将存储在构建资源的 results 字段中。

如果任何映像无法推送,则构建状态将标记为 FAILURE。

返回: 成功

logsBucket

字符串

应在其中写入日志的 Google Cloud Storage 存储桶。日志文件名将采用 ${logsBucket}/log-${build_id}.txt 格式。

返回: 成功

options

复杂

此构建的特殊选项。

返回: 成功

diskSizeGb

整数

运行构建的虚拟机的请求磁盘大小。请注意,这 NOT 是“磁盘可用空间”;操作系统和构建实用程序会使用一些空间。

另请注意,这是将为构建分配的最小磁盘大小 - 构建可以使用比请求更大的磁盘运行。目前,最大磁盘大小为 1000GB;请求超过最大值的构建将被拒绝并出现错误。

返回: 成功

dynamicSubstitutions

布尔值

指定是否对替换应用 bash 样式字符串操作的选项。

注意:对于触发的构建,此选项始终启用,并且无法在构建配置文件中覆盖。

返回: 成功

env

列表 / 元素=字符串

一个全局环境变量定义列表,这些定义将存在于此构建中的所有构建步骤中。如果一个变量在全局和构建步骤中都定义了,则该变量将使用构建步骤的值。

元素采用“KEY=VALUE”的形式,表示环境变量“KEY”被赋予值“VALUE”。

返回: 成功

logging

字符串

指定日志记录模式的选项,该模式确定是否以及在何处存储构建日志。

返回: 成功

logStreamingOption

字符串

定义构建日志流式传输到 Google Cloud Storage 的行为的选项。

返回: 成功

machineType

字符串

运行构建的 Compute Engine 机器类型。

返回: 成功

requestedVerifyOption

字符串

请求的可验证性选项。

返回: 成功

secretEnv

列表 / 元素=字符串

一个全局环境变量列表,这些变量使用 Cloud Key Management Service 加密密钥进行加密。这些值必须在构建的 Secret 中指定。这些变量将在此构建中的所有构建步骤中可用。

返回: 成功

sourceProvenanceHash

列表 / 元素=字符串

SourceProvenance 的请求哈希。

返回: 成功

substitutionOption

字符串

指定在替换检查中出现错误时的行为的选项。

注意:对于触发的构建,此选项始终设置为 ALLOW_LOOSE,并且无法在构建配置文件中覆盖。

返回: 成功

volumes

复杂

要为所有构建步骤挂载的全局卷列表。每个卷在开始构建过程之前都会创建为空卷。

构建完成后,卷及其内容将被丢弃。全局卷名称和路径不能与构建步骤中定义的卷冲突。

在只有一个步骤的构建中使用全局卷是无效的,因为它表明构建请求配置不正确。

返回: 成功

name

字符串

要挂载的卷的名称。

每个构建步骤的卷名称必须唯一,并且必须是 Docker 卷的有效名称。

每个命名的卷必须由至少两个构建步骤使用。

返回: 成功

path

字符串

挂载卷的路径。

路径必须是绝对路径,并且不能与同一构建步骤上的其他卷路径或某些保留卷路径冲突。

返回: 成功

workerPool

字符串

为构建指定 WorkerPool 的选项。格式为 projects/{project}/workerPools/{workerPool}。此字段是实验性的。

返回: 成功

queueTtl

字符串

此构建在队列中的 TTL。如果提供且构建在队列中排队的时间长于此值,则构建将过期,并且构建状态将为 EXPIRED。

TTL 从 createTime 开始计时。

以秒为单位的持续时间,最多可有九个小数位,以 's' 结尾。例如:“3.5s”。

返回: 成功

密钥

复杂

使用 Cloud Key Management Service 解密的密钥。

返回: 成功

kmsKeyName

字符串

用于解密这些环境变量的 Cloud KMS 密钥名称。

返回: 成功

secretEnv

字典

环境变量名称与其加密值的映射。

密钥环境变量在一个构建的所有密钥中必须是唯一的,并且必须至少被一个构建步骤使用。值的大小最大为 64 KB。一个构建的所有密钥中最多可以有 100 个密钥值。

返回: 成功

source

复杂

要构建的源文件的位置。

返回: 成功

repoSource

复杂

Google Cloud Source Repository 中源代码的位置。

返回: 成功

branchName

字符串

匹配要构建的分支的正则表达式。必须提供分支名称、标签或提交 SHA 中的一个。

所接受的正则表达式的语法是 RE2 接受的语法,详见 https://github.com/google/re2/wiki/Syntax

返回: 成功

commitSha

字符串

要构建的显式提交 SHA。必须提供分支名称、标签或提交 SHA 中的一个。

返回: 成功

dir

字符串

相对于源根目录的、在其中运行构建的目录。

这必须是相对路径。如果指定了步骤的 dir 并且是绝对路径,则该值将在此步骤的执行中被忽略。

返回: 成功

invertRegex

布尔值

仅当修订版正则表达式与修订版正则表达式不匹配时才触发构建。

返回: 成功

projectId

字符串

拥有 Cloud Source Repository 的项目的 ID。如果省略,则假定为请求构建的项目 ID。

返回: 成功

repoName

字符串

Cloud Source Repository 的名称。

返回: 成功

substitutions

字典

要在触发的构建中使用的替换。应仅与 `triggers.run` 一起使用。

返回: 成功

tagName

字符串

匹配要构建的标签的正则表达式。必须提供分支名称、标签或提交 SHA 中的一个。

所接受的正则表达式的语法是 RE2 接受的语法,详见 https://github.com/google/re2/wiki/Syntax

返回: 成功

storageSource

复杂

Google Cloud Storage 中存档文件中源代码的位置。

返回: 成功

bucket

字符串

包含源代码的 Google Cloud Storage 存储桶。

返回: 成功

generation

字符串

该对象的 Google Cloud Storage 生成版本。如果省略生成版本,将使用最新一代版本。

返回: 成功

object

字符串

包含源代码的 Google Cloud Storage 对象。

此对象必须是包含要构建的源代码的 gzip 压缩存档文件 (.tar.gz)。

返回: 成功

steps

复杂

要在工作区上执行的操作。

返回: 成功

args

列表 / 元素=字符串

启动步骤时将提供给该步骤的参数列表。

如果用于运行步骤容器的映像具有入口点,则 args 将用作该入口点的参数。如果映像未定义入口点,则 args 中的第一个元素将用作入口点,其余元素将用作参数。

返回: 成功

dir

字符串

运行此步骤的容器时要使用的工作目录。

如果此值是相对路径,则它是相对于构建的工作目录的。如果此值是绝对路径,则它可能位于构建的工作目录之外,在这种情况下,除非为此路径指定了 `volume`,否则该路径的内容可能不会在构建步骤执行之间保留。

如果构建使用带有 `dir` 的 `RepoSource` 和带有 `dir` 的步骤,且该 `dir` 指定了绝对路径,则 `RepoSource` 的 `dir` 将在该步骤的执行中被忽略。

返回: 成功

entrypoint

字符串

要使用的入口点,而不是构建步骤映像的默认入口点。

如果未设置,则使用映像的默认入口点。

返回: 成功

env

列表 / 元素=字符串

要在运行步骤时使用的环境变量定义列表。

元素采用“KEY=VALUE”的形式,表示环境变量“KEY”被赋予值“VALUE”。

返回: 成功

id

字符串

此构建步骤的唯一标识符,用于 `wait_for` 中将此构建步骤引用为依赖项。

返回: 成功

name

字符串

将运行此特定构建步骤的容器映像的名称。

如果该映像在主机的 Docker 守护程序的缓存中可用,则将直接运行它。如果不可用,则主机将尝试首先拉取该映像,必要时使用构建器服务帐户的凭据。

Docker 守护程序的缓存将已经具有所有官方支持的构建步骤的最新版本(有关映像和示例,请参阅 https://github.com/GoogleCloudPlatform/cloud-builders)。

Docker 守护程序还将缓存一些常用映像(如“ubuntu”、“debian”)的许多层,但它们会在您尝试使用它们时刷新。

如果您在之前的构建步骤中构建了映像,它将存储在主机的 Docker 守护程序的缓存中,并且可以用作稍后构建步骤的名称。

返回: 成功

secretEnv

列表 / 元素=字符串

使用 Cloud Key Management Service 加密密钥加密的环境变量列表。这些值必须在构建的 `Secret` 中指定。

返回: 成功

timeout

字符串

执行此构建步骤的时间限制。如果未定义,则该步骤没有时间限制,并且将被允许继续运行,直到它完成或构建本身超时。

返回: 成功

timing

字符串

仅限输出。存储执行此构建步骤的计时信息。

返回: 成功

volumes

复杂

要装载到构建步骤中的卷列表。

每个卷在执行构建步骤之前都创建为空卷。构建完成后,卷及其内容将被丢弃。

仅在一个步骤中使用命名卷是无效的,因为它表示具有不正确配置的构建请求。

返回: 成功

name

字符串

要挂载的卷的名称。

每个构建步骤的卷名称必须唯一,并且必须是 Docker 卷的有效名称。每个命名卷必须至少被两个构建步骤使用。

返回: 成功

path

字符串

挂载卷的路径。

路径必须是绝对路径,并且不能与同一构建步骤上的其他卷路径或某些保留卷路径冲突。

返回: 成功

waitFor

列表 / 元素=字符串

此构建步骤所依赖的步骤的 ID。

此构建步骤只有在 `wait_for` 中的所有构建步骤都成功完成后才会启动。如果 `wait_for` 为空,则此构建步骤将在 `Build.Steps` 列表中所有先前的构建步骤都成功完成后启动。

返回: 成功

substitutions

字典

构建资源的替换数据。

返回: 成功

tags

列表 / 元素=字符串

用于注释构建的标签。这些不是 docker 标签。

返回: 成功

timeout

字符串

允许此构建运行的时间量,精确到秒。

如果此时间量已过,则构建工作将停止,并且构建状态将为 TIMEOUT。

此超时必须等于或大于构建中构建步骤的超时总和。

预期格式是秒数后跟 s。

默认时间为十分钟 (600s)。

返回: 成功

createTime

字符串

触发器创建的时间。

返回: 成功

description

字符串

触发器的人工可读描述。

返回: 成功

disabled

布尔值

是否禁用触发器。如果为 true,则触发器将永远不会导致构建。

返回: 成功

filename

字符串

从源根目录到文件的路径,该文件的内容用于模板。必须提供文件名或构建模板。

返回: 成功

github

复杂

描述每当收到 GitHub 事件时创建构建的触发器的配置。

返回: 成功

name

字符串

存储库的名称。例如:https://github.com/googlecloudplatform/cloud-builders 的名称为“cloud-builders”。

返回: 成功

owner

字符串

存储库的所有者。例如:https://github.com/googlecloudplatform/cloud-builders 的所有者是“googlecloudplatform”。

返回: 成功

pullRequest

复杂

用于匹配拉取请求中更改的过滤器。仅指定 pullRequest 或 push 中的一个。

返回: 成功

branch

字符串

要匹配的分支的正则表达式。

返回: 成功

commentControl

字符串

是否阻止来自存储库所有者或协作者的“/gcbrun”评论触发构建。

返回: 成功

invertRegex

布尔值

如果为 true,则与 git_ref 不匹配的分支将触发构建。

返回: 成功

push

复杂

用于匹配 refs(如分支或标签)中更改的过滤器。仅指定 pullRequest 或 push 中的一个。

返回: 成功

branch

字符串

要匹配的分支的正则表达式。仅指定 branch 或 tag 中的一个。

返回: 成功

invertRegex

布尔值

如果为 true,则仅当修订版正则表达式与 git_ref 正则表达式不匹配时才触发构建。

返回: 成功

tag

字符串

要匹配的标签的正则表达式。仅指定 branch 或 tag 中的一个。

返回: 成功

id

字符串

触发器的唯一标识符。

返回: 成功

ignoredFiles

列表 / 元素=字符串

ignoredFiles 和 includedFiles 是使用 https://golang.ac.cn/pkg/path/filepath/#Match 扩展的、支持 `**` 的文件 glob 匹配。

如果 ignoredFiles 和已更改的文件都为空,则它们不用于确定是否触发构建。

如果 ignoredFiles 不为空,则我们会忽略任何与任何 ignored_file glob 匹配的文件。如果更改没有超出 ignoredFiles glob 的文件,则我们不会触发构建。

返回: 成功

includedFiles

列表 / 元素=字符串

ignoredFiles 和 includedFiles 是使用 https://golang.ac.cn/pkg/path/filepath/#Match 扩展的、支持 `**` 的文件 glob 匹配。

如果提交中更改的任何文件通过了 ignoredFiles 过滤器,并且 includedFiles 为空,那么就此过滤器而言,我们应该触发构建。

如果提交中更改的任何文件通过了 ignoredFiles 过滤器,并且 includedFiles 不为空,则我们要确保至少有一个文件与 includedFiles glob 匹配。如果没有,则我们不会触发构建。

返回: 成功

name

字符串

触发器的名称。在项目中必须是唯一的。

返回: 成功

pubsubConfig

复杂

PubsubConfig 描述了每当发布 Pub/Sub 消息时创建构建的触发器的配置。

返回: 成功

service_account_email

字符串

将发出推送请求的服务帐户。

返回: 成功

state

字符串

底层 Pub/Sub 订阅配置的潜在问题。

仅在 get 请求时填充。

返回: 成功

subscription

字符串

仅输出。订阅的名称。

返回: 成功

topic

字符串

此订阅从中接收消息的主题的名称。

返回: 成功

substitutions

字典

构建资源的替换数据。

返回: 成功

tags

列表 / 元素=字符串

用于注释 BuildTrigger 的标签。

返回: 成功

triggerTemplate

复杂

描述用于触发构建的源更改类型的模板。

触发器模板中的分支和标签名称被解释为正则表达式。任何与该正则表达式匹配的分支或标签更改都会触发构建。

返回: 成功

branchName

字符串

要构建的分支的名称。必须提供分支名称、标签或提交 SHA 中的一个,且仅能提供一个。

此字段是一个正则表达式。

返回: 成功

commitSha

字符串

要构建的显式提交 SHA。必须提供分支名称、标签或提交 SHA 中的一个,且仅能提供一个。

返回: 成功

dir

字符串

相对于源根目录的、在其中运行构建的目录。

这必须是相对路径。如果指定了步骤的 dir 并且是绝对路径,则该值将在此步骤的执行中被忽略。

返回: 成功

invertRegex

布尔值

仅当修订版正则表达式与修订版正则表达式不匹配时才触发构建。

返回: 成功

projectId

字符串

拥有 Cloud Source Repository 的项目的 ID。如果省略,则假定为请求构建的项目 ID。

返回: 成功

repoName

字符串

Cloud Source Repository 的名称。如果省略,则假定名称为“default”。

返回: 成功

tagName

字符串

要构建的标签的名称。必须提供分支名称、标签或提交 SHA 中的一个,且仅能提供一个。

此字段是一个正则表达式。

返回: 成功

webhookConfig

复杂

WebhookConfig 描述了触发器的配置,该配置在将 webhook 发送到触发器的 webhook URL 时创建构建。

返回: 成功

secret

字符串

作为 URL 参数所需的密钥的资源名称。

返回: 成功

state

字符串

底层 Pub/Sub 订阅配置的潜在问题。

仅在 get 请求时填充。

返回: 成功

作者

  • Google Inc. (@googlecloudplatform)