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

列表 / 元素=字符串

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

这些镜像将使用构建器服务帐户的凭据进行推送。

已推送镜像的摘要将存储在构建资源的结果字段中。

如果任何镜像推送失败,则构建将标记为失败。

objects

字典

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

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

已上传对象的存储位置和版本将存储在构建资源的结果字段中。

如果任何对象推送失败,则构建将标记为失败。

location

字符串

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

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

paths

列表 / 元素=字符串

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

images

列表 / 元素=字符串

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

这些镜像将使用构建器服务帐户的凭据进行推送。

已推送镜像的摘要将存储在构建资源的结果字段中。

如果任何镜像推送失败,则构建状态将标记为失败。

logs_bucket

字符串

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

options

字典

此构建的特殊选项。

disk_size_gb

整数

为运行构建的虚拟机请求的磁盘大小。请注意,这并非“可用磁盘空间”;一部分空间将被操作系统和构建实用程序使用。

另请注意,这是将为构建分配的最小磁盘大小——构建可能运行的磁盘空间大于请求的磁盘空间。目前,最大磁盘大小为 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”。

secrets

列表 / 元素=字典

使用 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`(指定绝对路径)的步骤,则对于步骤的执行,将忽略 `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

复杂

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

返回: success

artifacts

复杂

构建生成的工件,应在所有构建步骤成功完成时上传。

返回: success

images

列表 / 元素=字符串

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

这些镜像将使用构建器服务帐户的凭据进行推送。

已推送镜像的摘要将存储在构建资源的结果字段中。

如果任何镜像推送失败,则构建将标记为失败。

返回: success

objects

复杂

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

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

已上传对象的存储位置和版本将存储在构建资源的结果字段中。

如果任何对象推送失败,则构建将标记为失败。

返回: success

location

字符串

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

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

返回: success

paths

列表 / 元素=字符串

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

返回: success

timing

复杂

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

返回: success

endTime

字符串

时间跨度的结束。

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

返回: success

startTime

字符串

时间跨度的开始。

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

返回: success

images

列表 / 元素=字符串

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

这些镜像将使用构建器服务帐户的凭据进行推送。

已推送镜像的摘要将存储在构建资源的结果字段中。

如果任何镜像推送失败,则构建状态将标记为失败。

返回: success

logsBucket

字符串

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

返回: success

options

复杂

此构建的特殊选项。

返回: success

diskSizeGb

整数

为运行构建的虚拟机请求的磁盘大小。请注意,这并非“可用磁盘空间”;一部分空间将被操作系统和构建实用程序使用。

另请注意,这是将为构建分配的最小磁盘大小——构建可能运行的磁盘空间大于请求的磁盘空间。目前,最大磁盘大小为 1000GB;请求超过最大值的构建将被拒绝并返回错误。

返回: success

dynamicSubstitutions

布尔值

选项,用于指定是否将 bash 风格的字符串操作应用于替换。

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

返回: success

env

列表 / 元素=字符串

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

元素的格式为“KEY=VALUE”,其中环境变量“KEY”被赋予值“VALUE”。

返回: success

logging

字符串

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

返回: success

logStreamingOption

字符串

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

返回: success

machineType

字符串

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

返回: success

requestedVerifyOption

字符串

请求的可验证性选项。

返回: success

secretEnv

列表 / 元素=字符串

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

返回: success

sourceProvenanceHash

列表 / 元素=字符串

请求的 SourceProvenance 哈希值。

返回: success

substitutionOption

字符串

指定替换检查出错时的行为的选项。

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

返回: success

volumes

复杂

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

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

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

返回: success

name

字符串

要挂载的卷的名称。

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

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

返回: success

path

字符串

挂载卷的路径。

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

返回: success

workerPool

字符串

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

返回: success

queueTtl

字符串

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

TTL 从 createTime 开始计时。

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

返回: success

secrets

复杂

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

返回: success

kmsKeyName

字符串

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

返回: success

secretEnv

字典

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

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

返回: success

source

复杂

要构建的源文件的存放位置。

返回: success

repoSource

复杂

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

返回: success

branchName

字符串

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

接受的正则表达式的语法是 RE2 接受的语法,在https://github.com/google/re2/wiki/Syntax 中进行了描述。

返回: success

commitSha

字符串

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

返回: success

dir

字符串

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

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

返回: success

invertRegex

布尔值

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

返回: success

projectId

字符串

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

返回: success

repoName

字符串

Cloud Source Repository 的名称。

返回: success

substitutions

字典

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

返回: success

tagName

字符串

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

接受的正则表达式的语法是 RE2 接受的语法,在https://github.com/google/re2/wiki/Syntax 中进行了描述。

返回: success

storageSource

复杂

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

返回: success

bucket

字符串

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

返回: success

generation

字符串

对象的 Google Cloud Storage 世代。如果省略世代,则将使用最新的世代。

返回: success

object

字符串

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

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

返回: success

steps

复杂

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

返回: success

args

列表 / 元素=字符串

启动步骤时将向步骤呈现的参数列表。

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

返回: success

dir

字符串

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

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

如果构建指定了具有 `dir` 的 `RepoSource` 和具有 `dir`(指定绝对路径)的步骤,则对于步骤的执行,将忽略 `RepoSource` `dir`。

返回: success

entrypoint

字符串

要代替构建步骤镜像的默认入口点使用的入口点。

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

返回: success

env

列表 / 元素=字符串

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

元素的格式为“KEY=VALUE”,其中环境变量“KEY”被赋予值“VALUE”。

返回: success

id

字符串

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

返回: success

name

字符串

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

如果镜像存在于主机的 Docker 守护程序的缓存中,则将直接运行它。如果没有,主机将首先尝试拉取镜像,如果需要,将使用构建器服务帐户的凭据。

Docker 守护程序的缓存中已经包含所有正式支持的构建步骤的最新版本(有关镜像和示例,请参见https://github.com/GoogleCloudPlatform/cloud-builders)。

Docker 守护程序还缓存了许多流行镜像(如“ubuntu”、“debian”)的许多层,但在您尝试使用它们时,它们将被刷新。

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

返回: success

secretEnv

列表 / 元素=字符串

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

返回: success

timeout

字符串

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

返回: success

timing

字符串

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

返回: success

volumes

复杂

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

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

在一个步骤中仅使用命名卷是无效的,因为它表明构建请求配置错误。

返回: success

name

字符串

要挂载的卷的名称。

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

返回: success

path

字符串

挂载卷的路径。

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

返回: success

waitFor

列表 / 元素=字符串

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

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

返回: success

substitutions

字典

构建资源的替换数据。

返回: success

tags

列表 / 元素=字符串

构建注释的标签。这些不是 Docker 标签。

返回: success

timeout

字符串

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

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

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

预期的格式是秒数后跟 s。

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

返回: success

createTime

字符串

创建触发器的时间。

返回: success

description

字符串

触发器的易于理解的描述。

返回: success

disabled

布尔值

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

返回: success

filename

字符串

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

返回: success

github

复杂

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

返回: success

name

字符串

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

返回: success

owner

字符串

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

返回: success

pullRequest

复杂

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

返回: success

branch

字符串

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

返回: success

commentControl

字符串

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

返回: success

invertRegex

布尔值

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

返回: success

push

复杂

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

返回: success

branch

字符串

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

返回: success

invertRegex

布尔值

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

返回: success

tag

字符串

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

返回: success

id

字符串

触发器的唯一标识符。

返回: success

ignoredFiles

列表 / 元素=字符串

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

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

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

返回: success

includedFiles

列表 / 元素=字符串

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

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

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

返回: success

name

字符串

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

返回: success

pubsubConfig

复杂

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

返回: success

service_account_email

字符串

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

返回: success

state

字符串

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

仅在获取请求中填充。

返回: success

subscription

字符串

仅输出。订阅的名称。

返回: success

topic

字符串

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

返回: success

substitutions

字典

构建资源的替换数据。

返回: success

tags

列表 / 元素=字符串

用于注释 BuildTrigger 的标签。

返回: success

triggerTemplate

复杂

描述触发构建的源代码更改类型的模板。

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

返回: success

branchName

字符串

要构建的分支名称。必须提供一个且只有一个分支名称、标签或提交 SHA。

此字段是正则表达式。

返回: success

commitSha

字符串

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

返回: success

dir

字符串

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

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

返回: success

invertRegex

布尔值

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

返回: success

projectId

字符串

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

返回: success

repoName

字符串

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

返回: success

tagName

字符串

要构建的标签名称。必须提供一个且只有一个分支名称、标签或提交 SHA。

此字段是正则表达式。

返回: success

webhookConfig

复杂

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

返回: success

secret

字符串

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

返回: success

state

字符串

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

仅在获取请求中填充。

返回: success

作者

  • Google Inc. (@googlecloudplatform)