REST Resource: projects.locations.deliveryPipelines.releases

资源:发布

Cloud Deploy API 中的 Release 资源。

Release 定义可以部署的特定 Skaffold 配置实例。

JSON 表示法
{
  "name": string,
  "uid": string,
  "description": string,
  "annotations": {
    string: string,
    ...
  },
  "labels": {
    string: string,
    ...
  },
  "abandoned": boolean,
  "createTime": string,
  "renderStartTime": string,
  "renderEndTime": string,
  "skaffoldConfigUri": string,
  "skaffoldConfigPath": string,
  "buildArtifacts": [
    {
      object (BuildArtifact)
    }
  ],
  "deliveryPipelineSnapshot": {
    object (DeliveryPipeline)
  },
  "targetSnapshots": [
    {
      object (Target)
    }
  ],
  "customTargetTypeSnapshots": [
    {
      object (CustomTargetType)
    }
  ],
  "renderState": enum (RenderState),
  "etag": string,
  "skaffoldVersion": string,
  "targetArtifacts": {
    string: {
      object (TargetArtifact)
    },
    ...
  },
  "targetRenders": {
    string: {
      object (TargetRender)
    },
    ...
  },
  "condition": {
    object (ReleaseCondition)
  },
  "deployParameters": {
    string: string,
    ...
  }
}
字段
name

string

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

uid

string

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

description

string

Release 的说明。长度上限为 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" }

abandoned

boolean

仅限输出。指明此版本是否为已弃用的版本。

createTime

string (Timestamp format)

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

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

renderStartTime

string (Timestamp format)

仅限输出。渲染开始时间。

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

renderEndTime

string (Timestamp format)

仅限输出。渲染完成的时间。

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

skaffoldConfigUri

string

包含 Skaffold 配置的 tar.gz 归档的 Cloud Storage URI。

skaffoldConfigPath

string

配置 URI 中 Skaffold 配置的文件路径。

buildArtifacts[]

object (BuildArtifact)

要传递给 Skaffold 命令的工件列表。

deliveryPipelineSnapshot

object (DeliveryPipeline)

仅限输出。在创建版本时截取的父级流水线的快照。

targetSnapshots[]

object (Target)

仅限输出。版本创建时截取的目标的快照。

customTargetTypeSnapshots[]

object (CustomTargetType)

仅限输出。在创建版本时截取的目标所引用的自定义目标类型的快照。

renderState

enum (RenderState)

仅限输出。渲染操作的当前状态。

etag

string

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

skaffoldVersion

string

在此版本上运行时使用的 Skaffold 版本,例如“1.20.0”。并非所有版本都有效;Cloud Deploy 支持一组特定的版本。

如果未设置,系统将使用最新支持的 Skaffold 版本。

targetArtifacts

map (key: string, value: object (TargetArtifact))

仅限输出。从目标 ID 映射到渲染操作期间创建的目标制品。

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

targetRenders

map (key: string, value: object (TargetRender))

仅限输出。从目标 ID 到该目标的渲染操作详细信息的映射。

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

condition

object (ReleaseCondition)

仅限输出。有关专辑状态的信息。

deployParameters

map (key: string, value: string)

可选。要用于此版本中所有目标的部署参数。

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

BuildArtifact

对要在 Skaffold 渲染过程中使用的图片的说明。

JSON 表示法
{
  "image": string,
  "tag": string
}
字段
image

string

Skaffold 配置中的映像名称。

tag

string

要使用的图片代码。这一般是映像的完整路径,例如“gcr.io/my-project/CANNOT TRANSLATE

RenderState

渲染操作的有效状态。

枚举
RENDER_STATE_UNSPECIFIED 未指定渲染状态。
SUCCEEDED 所有渲染操作均已成功完成。
FAILED 所有渲染操作均已完成,但有一项或多项操作已失败。
IN_PROGRESS 渲染已开始,但尚未完成。

TargetArtifact

目标渲染操作生成的工件。

JSON 表示法
{
  "skaffoldConfigPath": string,
  "manifestPath": string,
  "phaseArtifacts": {
    string: {
      object (PhaseArtifact)
    },
    ...
  },

  // Union field uri can be only one of the following:
  "artifactUri": string
  // End of list of possible types for union field uri.
}
字段
skaffoldConfigPath

string

仅限输出。已解析的 Skaffold 配置相对于 URI 的文件路径。

manifestPath

string

仅限输出。所呈现的清单相对于 URI 的文件路径。

phaseArtifacts

map (key: string, value: object (PhaseArtifact))

仅限输出。从阶段 ID 到 Target 的阶段工件的映射。

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

联合字段 uri

uri 只能是下列其中一项:

artifactUri

string

仅限输出。包含制品的目录的 URI。此文件包含 Skaffold 在发布期间使用的部署配置,并且所有路径都相对于此位置。

PhaseArtifact

包含阶段的制品路径(相对于 URI)。

JSON 表示法
{
  "skaffoldConfigPath": string,
  "manifestPath": string,
  "jobManifestsPath": string
}
字段
skaffoldConfigPath

string

仅限输出。已解析的 Skaffold 配置相对于 URI 的文件路径。

manifestPath

string

仅限输出。所呈现的清单相对于 URI 的文件路径。

jobManifestsPath

string

仅限输出。所渲染作业清单的目录相对于 URI 的文件路径。只有适用时才设置此字段。

TargetRender

单个目标的渲染详情。

JSON 表示法
{
  "renderingBuild": string,
  "renderingState": enum (TargetRenderState),
  "metadata": {
    object (RenderMetadata)
  },
  "failureCause": enum (FailureCause),
  "failureMessage": string
}
字段
renderingBuild

string

仅限输出。用于呈现此目标的清单的 Cloud Build Build 对象的资源名称。格式为 projects/{project}/locations/{location}/builds/{build}

renderingState

enum (TargetRenderState)

仅限输出。此目标的渲染操作的当前状态。

metadata

object (RenderMetadata)

仅限输出。与此目标的 Release 渲染相关的元数据。

failureCause

enum (FailureCause)

仅限输出。此渲染失败的原因。在渲染过程中,此字段始终未指定。

failureMessage

string

仅限输出。有关渲染失败的其他信息(如果有)。

TargetRenderState

渲染操作的有效状态。

枚举
TARGET_RENDER_STATE_UNSPECIFIED 未指定渲染操作状态。
SUCCEEDED 渲染操作已成功完成。
FAILED 渲染操作失败。
IN_PROGRESS 渲染操作正在进行中。

RenderMetadata

RenderMetadata 包含与 Release 渲染相关的信息。

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

object (CloudRunRenderMetadata)

仅限输出。与 Cloud Run 的渲染关联的元数据。

custom

object (CustomMetadata)

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

CloudRunRenderMetadata

CloudRunRenderMetadata 包含与 Release 渲染关联的 Cloud Run 信息。

JSON 表示法
{
  "service": string
}
字段
service

string

仅限输出。呈现的清单中 Cloud Run 服务的名称。格式为 projects/{project}/locations/{location}/services/{service}

FailureCause

众所周知的渲染失败。

枚举
FAILURE_CAUSE_UNSPECIFIED 未指定失败原因。
CLOUD_BUILD_UNAVAILABLE Cloud Build 不可用,可能是因为它未启用,或者 Cloud Deploy 的权限不足。查看所需权限
EXECUTION_FAILED 渲染操作未成功完成;请查看 Cloud Build 日志。
CLOUD_BUILD_REQUEST_FAILED Cloud Build 未能满足 Cloud Deploy 的请求。如需了解更多详情,请参阅 failedMessage。
VERIFICATION_CONFIG_NOT_FOUND 渲染操作未成功完成,因为在 Skaffold 配置中找不到验证所需的验证节。
CUSTOM_ACTION_NOT_FOUND 渲染操作未成功完成,因为在 Skaffold 配置中找不到部署前或部署后所需的自定义操作。如需了解更多详情,请参阅 failedMessage。
DEPLOYMENT_STRATEGY_NOT_SUPPORTED 版本在渲染期间失败,因为指定的部署策略不支持该版本配置。
RENDER_FEATURE_NOT_SUPPORTED 渲染操作配置的功能不受支持。

ReleaseCondition

ReleaseCondition 包含与 Release 相关的所有条件。

JSON 表示法
{
  "releaseReadyCondition": {
    object (ReleaseReadyCondition)
  },
  "skaffoldSupportedCondition": {
    object (SkaffoldSupportedCondition)
  }
}
字段
releaseReadyCondition

object (ReleaseReadyCondition)

有关专辑整体状态的详细信息。

skaffoldSupportedCondition

object (SkaffoldSupportedCondition)

有关此版本 Skaffold 版本的支持状态的详细信息。

ReleaseReadyCondition

ReleaseReadyCondition 包含有关 Release 状态的信息。如果某个版本尚未准备就绪,您将无法使用该版本创建发布。

JSON 表示法
{
  "status": boolean
}
字段
status

boolean

如果专辑处于有效状态,则为 true。否则,“ReleaseCondition”中至少有一个条件处于无效状态。迭代这些条件并查看哪些条件的 status = false,以找出该发布版本存在哪些问题。

SkaffoldSupportedCondition

SkaffoldSupportedCondition 包含有关何时停止支持该版本的 Skaffold 的信息。

JSON 表示法
{
  "status": boolean,
  "skaffoldSupportState": enum (SkaffoldSupportState),
  "maintenanceModeTime": string,
  "supportExpirationTime": string
}
字段
status

boolean

如果此版本使用的 Skaffold 版本受支持,则为 true。

skaffoldSupportState

enum (SkaffoldSupportState)

此版本的 Skaffold 版本的 Skaffold 支持状态。

maintenanceModeTime

string (Timestamp format)

此版本的 Skaffold 版本将进入维护模式的时间。

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

supportExpirationTime

string (Timestamp format)

此版本的 Skaffold 版本将不再受支持的时间。

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

SkaffoldSupportState

特定 Skaffold 版本的支持状态。

枚举
SKAFFOLD_SUPPORT_STATE_UNSPECIFIED 默认值。此值未使用。
SKAFFOLD_SUPPORT_STATE_SUPPORTED 目前支持此 Skaffold 版本。
SKAFFOLD_SUPPORT_STATE_MAINTENANCE_MODE 此 Skaffold 版本处于维护模式。
SKAFFOLD_SUPPORT_STATE_UNSUPPORTED 此 Skaffold 版本已不再受支持。

方法

abandon

在交付流水线中放弃某个版本。

create

在给定的项目和位置创建新版本。

get

获取单个版本的详细信息。

list

列出给定项目和位置中的版本。