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。您需要其他要求才能使用此模块,请参阅 需求 获取详细信息。

要在剧本中使用它,请指定: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 请求的用户代理字符串。

project

字符串

要使用的 Google Cloud Platform 项目。

scopes

列表 / 元素=字符串

要使用的作用域数组

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。

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

  • 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

列表 / 元素=字符串

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

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

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

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

返回:成功

objects

复杂

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

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

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

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

返回:成功

location

字符串

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

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

返回:成功

paths

列表 / 元素=字符串

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

返回:成功

timing

复杂

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

返回:成功

endTime

字符串

时间段结束。

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

返回:成功

startTime

字符串

时间段开始。

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

返回:成功

images

列表 / 元素=字符串

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

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

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

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

返回:成功

logsBucket

字符串

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

返回:成功

options

复杂

此构建的特殊选项。

返回:成功

diskSizeGb

整数

运行构建的虚拟机的请求磁盘大小。请注意,这**不是**“可用磁盘空间”;部分空间将被操作系统和构建工具占用。

另请注意,这是将为构建分配的最小磁盘大小——构建可能使用比请求更大的磁盘。目前,最大磁盘大小为 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 卷的有效名称。

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

返回:成功

路径

字符串

挂载卷的路径。

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

返回:成功

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

列表 / 元素=字符串

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

如果用于运行步骤容器的映像具有入口点,则 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 守护程序的缓存中,并可作为以后构建步骤的名称使用。

返回:成功

secretEnv

列表 / 元素=字符串

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

返回:成功

timeout

字符串

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

返回:成功

timing

字符串

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

返回:成功

volumes

复杂

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

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

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

返回:成功

name

字符串

要挂载的卷的名称。

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

返回:成功

路径

字符串

挂载卷的路径。

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

返回:成功

waitFor

列表 / 元素=字符串

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

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

返回:成功

substitutions

dictionary

构建资源的替换数据。

返回:成功

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

复杂

筛选器,用于匹配 ref 中的更改,例如分支或标签。仅指定 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

字符串

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

返回:成功

状态

字符串

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

仅在获取请求中填充。

返回:成功

subscription

字符串

仅输出。订阅的名称。

返回:成功

topic

字符串

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

返回:成功

substitutions

dictionary

构建资源的替换数据。

返回:成功

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 参数所需的密钥的资源名称。

返回:成功

状态

字符串

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

仅在获取请求中填充。

返回:成功

作者

  • Google Inc. (@googlecloudplatform)