REST Resource: projects.locations.deliveryPipelines.releases.rollouts

资源:发布

Cloud Deploy API 中的 Rollout 资源。

Rollout 包含有关到 Target 的特定部署的信息。

JSON 表示法
{
  "name": string,
  "uid": string,
  "description": string,
  "annotations": {
    string: string,
    ...
  },
  "labels": {
    string: string,
    ...
  },
  "createTime": string,
  "approveTime": string,
  "enqueueTime": string,
  "deployStartTime": string,
  "deployEndTime": string,
  "targetId": string,
  "approvalState": enum (ApprovalState),
  "state": enum (State),
  "failureReason": string,
  "deployingBuild": string,
  "etag": string,
  "deployFailureCause": enum (FailureCause),
  "phases": [
    {
      object (Phase)
    }
  ],
  "metadata": {
    object (Metadata)
  },
  "controllerRollout": string,
  "rollbackOfRollout": string,
  "rolledBackByRollouts": [
    string
  ]
}
字段
name

string

可选。Rollout 的名称。格式为 projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}rollout 组成部分必须与 [a-z]([a-z0-9-]{0,61}[a-z0-9])? 匹配

uid

string

仅限输出。Rollout 的唯一标识符。

description

string

供用户使用的 Rollout 说明。长度上限为 255 个字符。

annotations

map (key: string, value: string)

用户注释。这些属性只能由用户设置和使用,而不能由 Cloud Deploy 设置和使用。如需了解详情(例如格式和大小限制),请参阅 https://google.aip.dev/128#annotations

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

labels

map (key: string, value: string)

标签是用户可以和 Cloud Deploy 设置和使用的属性。标签必须符合以下限制条件:

  • 键和值只能包含小写字母、数字字符、下划线和短划线。
  • 所有字符都必须使用 UTF-8 编码,允许使用国际字符。
  • 键必须以小写字母或国际字符开头。
  • 每项资源最多只能包含 64 个标签。

键和值还限制为 <= 128 个字节。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

createTime

string (Timestamp format)

仅限输出。Rollout 的创建时间。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

approveTime

string (Timestamp format)

仅限输出。Rollout 的批准时间。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

enqueueTime

string (Timestamp format)

仅限输出。Rollout 加入队列的时间。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

deployStartTime

string (Timestamp format)

仅限输出。Rollout 开始部署的时间。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

deployEndTime

string (Timestamp format)

仅限输出。Rollout 完成部署的时间。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

targetId

string

必需。此 Rollout 要部署到的目标的 ID。

approvalState

enum (ApprovalState)

仅限输出。Rollout 的审批状态。

state

enum (State)

仅限输出。Rollout 的当前状态。

failureReason

string

仅限输出。有关发布失败的更多信息(如果有)。

deployingBuild

string

仅限输出。用于部署发布发布的 Cloud Build Build 对象的资源名称。格式为 projects/{project}/locations/{location}/builds/{build}

etag

string

该校验和由服务器根据其他字段的值计算,并且可能会在更新和删除请求时发送,以确保客户端在继续操作之前具有最新的值。

deployFailureCause

enum (FailureCause)

仅限输出。此发布失败的原因。在发布过程中,此值始终未指定。

phases[]

object (Phase)

仅限输出。表示此 Rollout 工作流的阶段。

metadata

object (Metadata)

仅限输出。元数据包含发布的相关信息。

controllerRollout

string

仅限输出。ControllerRollout 的名称。格式为 projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}

rollbackOfRollout

string

仅限输出。由此 Rollout 回滚的 Rollout 的名称。如果此 Rollout 并非作为回滚创建,则为空。

rolledBackByRollouts[]

string

仅限输出。回滚此 RolloutRollouts 的名称。

ApprovalState

Rollout 的有效审批状态。

枚举
APPROVAL_STATE_UNSPECIFIED Rollout 处于未指定的审批状态。
NEEDS_APPROVAL Rollout需要批准。
DOES_NOT_NEED_APPROVAL Rollout 不需要批准。
APPROVED Rollout已获批准。
REJECTED Rollout 已遭拒。

状态

Rollout 的有效状态。

枚举
STATE_UNSPECIFIED Rollout 处于未指定状态。
SUCCEEDED Rollout已成功完成。
FAILED Rollout已失败。
IN_PROGRESS 正在部署Rollout
PENDING_APPROVAL Rollout需要获得批准。
APPROVAL_REJECTED 审批人拒绝了Rollout
PENDING Rollout 正在等待在此 Target 上完成先前的发布。
PENDING_RELEASE Rollout 正在等待 Release 完全呈现。
CANCELLING 正在取消 Rollout
CANCELLED Rollout已取消。
HALTED Rollout 已暂停。

FailureCause

已知的发布失败项。

枚举
FAILURE_CAUSE_UNSPECIFIED 未指定失败原因。
CLOUD_BUILD_UNAVAILABLE Cloud Build 不可用,因为其未启用或 Cloud Deploy 的权限不足。查看所需权限
EXECUTION_FAILED 部署操作未成功完成;请检查 Cloud Build 日志。
DEADLINE_EXCEEDED 部署未在规定时间内完成。
RELEASE_FAILED 版本处于失败状态。
RELEASE_ABANDONED 已放弃版本。
VERIFICATION_CONFIG_NOT_FOUND 未找到 Skaffold 验证配置。
CLOUD_BUILD_REQUEST_FAILED Cloud Build 未能满足 Cloud Deploy 的请求。如需了解更多详情,请参阅 failedMessage。
OPERATION_FEATURE_NOT_SUPPORTED 发布操作配置了不受支持的功能。

阶段

阶段表示针对 Rollout 逻辑上组合在一起的作业集合。

JSON 表示法
{
  "id": string,
  "state": enum (State),
  "skipMessage": string,

  // Union field jobs can be only one of the following:
  "deploymentJobs": {
    object (DeploymentJobs)
  },
  "childRolloutJobs": {
    object (ChildRolloutJobs)
  }
  // End of list of possible types for union field jobs.
}
字段
id

string

仅限输出。阶段的 ID。

state

enum (State)

仅限输出。此阶段的当前状态。

skipMessage

string

仅限输出。有关跳过该阶段原因的其他信息(如果有)。

联合字段 jobs。此阶段的作业构成。jobs 只能是下列其中一项:
deploymentJobs

object (DeploymentJobs)

仅限输出。部署作业组合。

childRolloutJobs

object (ChildRolloutJobs)

仅限输出。ChildRollout 作业组合。

状态

阶段的有效状态。

枚举
STATE_UNSPECIFIED 阶段处于未指定状态。
PENDING 此阶段正在等待前面的阶段完成。
IN_PROGRESS 此阶段正在进行中。
SUCCEEDED 此阶段已成功。
FAILED 阶段失败。
ABORTED 阶段已取消。
SKIPPED 已跳过此阶段。

DeploymentJobs

部署作业组合。

JSON 表示法
{
  "deployJob": {
    object (Job)
  },
  "verifyJob": {
    object (Job)
  },
  "predeployJob": {
    object (Job)
  },
  "postdeployJob": {
    object (Job)
  }
}
字段
deployJob

object (Job)

仅限输出。部署作业。这是本阶段的部署作业。

verifyJob

object (Job)

仅限输出。验证作业。如果部署成功,则在部署后运行。

predeployJob

object (Job)

仅限输出。部署前作业,即此阶段中的第一个作业。

postdeployJob

object (Job)

仅限输出。部署后作业,即阶段中的最后一个作业。

作业

Job 表示对 Rollout 的操作。

JSON 表示法
{
  "id": string,
  "state": enum (State),
  "skipMessage": string,
  "jobRun": string,

  // Union field job_type can be only one of the following:
  "deployJob": {
    object (DeployJob)
  },
  "verifyJob": {
    object (VerifyJob)
  },
  "predeployJob": {
    object (PredeployJob)
  },
  "postdeployJob": {
    object (PostdeployJob)
  },
  "createChildRolloutJob": {
    object (CreateChildRolloutJob)
  },
  "advanceChildRolloutJob": {
    object (AdvanceChildRolloutJob)
  }
  // End of list of possible types for union field job_type.
}
字段
id

string

仅限输出。作业的 ID。

state

enum (State)

仅限输出。Job 的当前状态。

skipMessage

string

仅限输出。有关跳过 Job 原因的其他信息(如果有)。

jobRun

string

仅限输出。负责此 Job 的最近一次调用的 JobRun 的名称。

联合字段 job_type。Job 的类型。job_type 只能是下列其中一项:
deployJob

object (DeployJob)

仅限输出。部署作业。

verifyJob

object (VerifyJob)

仅限输出。验证作业。

predeployJob

object (PredeployJob)

仅限输出。部署前作业。

postdeployJob

object (PostdeployJob)

仅限输出。部署后作业。

createChildRolloutJob

object (CreateChildRolloutJob)

仅限输出。createChildRollout 作业。

advanceChildRolloutJob

object (AdvanceChildRolloutJob)

仅限输出。AdvancedChildRollout 作业。

状态

Job 的有效状态。

枚举
STATE_UNSPECIFIED 作业处于未指定状态。
PENDING 作业正在等待先前的阶段或作业完成。
DISABLED 此作业已停用。
IN_PROGRESS 作业正在进行中。
SUCCEEDED 作业成功。
FAILED 作业失败。
ABORTED 作业已取消。
SKIPPED 作业已跳过。
IGNORED 已忽略 Job。

DeployJob

此类型没有字段。

部署作业。

VerifyJob

此类型没有字段。

验证作业。

PredeployJob

部署前作业。

JSON 表示法
{
  "actions": [
    string
  ]
}
字段
actions[]

string

仅限输出。部署前作业执行的自定义操作。

PostdeployJob

部署后作业。

JSON 表示法
{
  "actions": [
    string
  ]
}
字段
actions[]

string

仅限输出。部署后作业执行的自定义操作。

CreateChildRolloutJob

此类型没有字段。

createChildRollout 作业。

AdvanceChildRolloutJob

此类型没有字段。

AdvancedChildRollout 作业。

ChildRolloutJobs

ChildRollouts 作业构成

JSON 表示法
{
  "createRolloutJobs": [
    {
      object (Job)
    }
  ],
  "advanceRolloutJobs": [
    {
      object (Job)
    }
  ]
}
字段
createRolloutJobs[]

object (Job)

仅限输出。CreateChildRolloutJobs 列表

advanceRolloutJobs[]

object (Job)

仅限输出。AdvanceChildRolloutJobs 列表

元数据

元数据包含与 Rollout 关联的信息。

JSON 表示法
{
  "cloudRun": {
    object (CloudRunMetadata)
  },
  "automation": {
    object (AutomationRolloutMetadata)
  },
  "custom": {
    object (CustomMetadata)
  }
}
字段
cloudRun

object (CloudRunMetadata)

仅限输出。与 Rollout 关联的 Cloud Run 服务的名称。

automation

object (AutomationRolloutMetadata)

仅限输出。AutomationRolloutMetadata 包含与 Automation 服务与此发布之间交互的相关信息。

custom

object (CustomMetadata)

仅限输出。由用户定义的 Rollout 操作提供的自定义元数据。

AutomationRolloutMetadata

AutomationRolloutMetadata 包含对发布执行与 Automation 相关的操作。

JSON 表示法
{
  "promoteAutomationRun": string,
  "advanceAutomationRuns": [
    string
  ],
  "repairAutomationRuns": [
    string
  ],
  "currentRepairAutomationRun": string
}
字段
promoteAutomationRun

string

仅限输出。由提升发布规则启动的 AutomationRun 的 ID。

advanceAutomationRuns[]

string

仅限输出。由提前发布规则启动的 AutomationRun 的 ID。

repairAutomationRuns[]

string

仅限输出。由修复发布规则启动的 AutomationRun 的 ID。

currentRepairAutomationRun

string

仅限输出。当前 AutomationRun 正在修复发布。

方法

advance

在指定项目和位置推进发布。

approve

批准发布。

cancel

取消给定项目和位置的发布。

create

在指定项目和位置创建新的发布。

get

获取单个发布的详细信息。

ignoreJob

忽略发布中的指定作业。

list

列出给定项目和位置的发布作业。

retryJob

重试发布中的指定作业。