google.cloud.gcp_cloudbuild_trigger_info 模块 – 收集 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_info

注意

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

概要

  • 收集 GCP 触发器的信息

要求

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

  • python >= 2.6

  • requests >= 2.18.4

  • google-auth >= 1.3.0

参数

参数

注释

access_token

字符串

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

auth_kind

字符串 / 必需

使用的凭据类型。

选择

  • "application"

  • "machineaccount"

  • "serviceaccount"

  • "accesstoken"

env_type

字符串

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

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

这只会更改任何 API 请求的 User Agent 字符串。

project

字符串

要使用的 Google Cloud Platform 项目。

scopes

列表 / elements=字符串

要使用的作用域数组

service_account_contents

jsonarg

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

service_account_email

字符串

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

service_account_file

路径

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

注意

注意

  • 对于身份验证,您可以使用 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 选项是互斥的。

示例

- name: get info on a trigger
  gcp_cloudbuild_trigger_info:
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"

返回值

常见返回值记录在 此处,以下是此模块特有的字段

描述

resources

复杂

资源列表

返回:始终

build

复杂

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

返回:成功

artifacts

复杂

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

返回:成功

images

列表 / elements=字符串

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

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

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

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

返回:成功

objects

复杂

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

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

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

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

返回:成功

location

字符串

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

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

返回:成功

paths

列表 / elements=字符串

用于匹配构建工作区中文件的路径 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

列表 / elements=字符串

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

镜像使用构建器服务帐户的凭据推送。

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

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

返回:成功

logsBucket

字符串

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

返回:成功

options

复杂

此构建的特殊选项。

返回:成功

diskSizeGb

整数

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

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

返回:成功

dynamicSubstitutions

布尔值

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

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

返回:成功

env

列表 / elements=字符串

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

元素的形式为 “KEY=VALUE”,表示环境变量 “KEY” 的值为 “VALUE”。

返回:成功

logging

字符串

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

返回:成功

logStreamingOption

字符串

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

返回:成功

machineType

字符串

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

返回:成功

requestedVerifyOption

字符串

请求的可验证性选项。

返回:成功

secretEnv

列表 / elements=字符串

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

返回:成功

sourceProvenanceHash

列表 / elements=字符串

请求的 SourceProvenance 哈希。

返回:成功

substitutionOption

字符串

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

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

返回:成功

volumes

复杂

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

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

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

返回:成功

name

字符串

要挂载的卷的名称。

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

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

返回:成功

路径

字符串

要挂载卷的路径。

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

返回:成功

workerPool

字符串

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

返回:成功

queueTtl

字符串

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

TTL 从 createTime 开始计时。

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

返回:成功

secrets

复杂

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

返回:成功

kmsKeyName

字符串

用于解密这些 env 的 Cloud KMS 密钥名称。

返回:成功

secretEnv

dictionary

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

密钥环境变量在构建的所有密钥中必须是唯一的,并且必须至少被一个构建步骤使用。值的大小最大为 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

dictionary

要在触发的构建中使用的替换。应仅与 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

列表 / elements=字符串

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

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

返回:成功

dir

字符串

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

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

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

返回:成功

entrypoint

字符串

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

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

返回:成功

env

列表 / elements=字符串

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

元素的形式为 “KEY=VALUE”,表示环境变量 “KEY” 的值为 “VALUE”。

返回:成功

id

字符串

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

返回:成功

name

字符串

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

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

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

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

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

返回:成功

secretEnv

列表 / elements=字符串

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

返回:成功

timeout

字符串

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

返回:成功

timing

字符串

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

返回:成功

volumes

复杂

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

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

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

返回:成功

name

字符串

要挂载的卷的名称。

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

返回:成功

路径

字符串

要挂载卷的路径。

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

返回:成功

waitFor

列表 / elements=字符串

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

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

返回:成功

substitutions

dictionary

构建资源的替换数据。

返回:成功

tags

列表 / elements=字符串

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

返回:成功

timeout

字符串

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

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

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

预期格式为秒数后跟 s。

默认时间为 10 分钟 (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

列表 / elements=字符串

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

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

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

返回:成功

includedFiles

列表 / elements=字符串

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 订阅配置的潜在问题。

仅在获取请求时填充。

返回:成功

subscription

字符串

仅输出。订阅的名称。

返回:成功

topic

字符串

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

返回:成功

substitutions

dictionary

构建资源的替换数据。

返回:成功

tags

列表 / elements=字符串

用于注释 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 订阅配置的潜在问题。

仅在获取请求时填充。

返回:成功

作者

  • Google Inc. (@googlecloudplatform)