Image Builder 中的语义版本控制 - EC2 Image Builder
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Image Builder 中的语义版本控制

Image Builder 使用语义版本控制来组织资源并确保资源具有唯一性。 IDs语义版本有四个节点:

<major><minor><patch>/<build>

您可以为前三个分配值,并且可以筛选所有这些值。

语义版本控制包含在每个对象的 Amazon 资源名称 (ARN) 中,其级别适用于该对象,如下所示:

  1. 无版本 ARNs 和 Name 在任何节点中都 ARNs 不包含特定值。节点要么完全省略,要么被指定为通配符,例如:x.x.x。

  2. 版本 ARNs 只有前三个节点:<major>. <minor>。 <patch>

  3. 构建版本 ARNs 包含所有四个节点,并指向对象的特定版本的特定构建。

分配:对于前三个节点,您可以为每个节点分配任何正整数值或零,上限为 2^30-1 或 1073741823。映像生成器会自动将内部版本号分配给第四个节点。

模式:您可以使用符合可分配节点分配要求的任何数字模式。例如,您可以选择软件版本模式(例如 1.0.0)或日期(例如 2021.01.01)。

选择:通过语义版本控制,您可以灵活地使用通配符(x)在为食谱选择基本映像或组件时指定最新版本或节点。在任何节点中使用通配符时,第一个通配符右侧的所有节点必须也是通配符。

例如,给定以下最新版本:2.2.4、1.7.8 和 1.6.8,使用通配符选择版本会产生以下结果:

  • x.x.x = 2.2.4

  • 1.x.x= 1.7.8

  • 1.6.x= 1.6.8

  • x.2.x 无效,并产生了错误

  • 1.x.8 无效,并产生了错误

使用版本引用

版本引用是 ready-to-use ARN 字符串,它根据您创建或检索的资源的语义版本包含通配符模式。Image Builder 不是编写自定义代码来解析 ARNs 和插入通配符,而是为你完成这项工作。

当您创建或检索 Image Builder 资源时,Image Builder 会自动在对象中提供 ARNs 带有通配符的latestVersionReferences预构版本模式。 ARNs 当你想使用通配符版本控制模式引用资源时,这样就无需手动解析和重建。

例如,当您创建带有版本1.2.3的组件时,Image Builder 会返回:

{ "componentBuildVersionArn": "arn:aws:imagebuilder:us-west-2:123456789012:component/my-component/1.2.3/1", "latestVersionReferences": { "latestVersionArn": "arn:aws:imagebuilder:us-west-2:123456789012:component/my-component/x.x.x", "latestMajorVersionArn": "arn:aws:imagebuilder:us-west-2:123456789012:component/my-component/1.x.x", "latestMinorVersionArn": "arn:aws:imagebuilder:us-west-2:123456789012:component/my-component/1.2.x", "latestPatchVersionArn": "arn:aws:imagebuilder:us-west-2:123456789012:component/my-component/1.2.3" } }

可用的版本参考模式

latestVersionReferences对象包含四个 ARN 模式:

  • latestVersionArn (x.x.x)-始终解析为绝对最新版本。

  • atestMajorVersionArn (1.x.x)-解析为主要版本中的最新次要版本和补丁版本。

  • latestMinorVersionArn (1.2.x)-解析为特定次要版本中的最新补丁版本。

  • latestPatchVersionArn (1.2.3)-引用特定的语义版本并解析为支持多个编译版本的资源的最新编译版本。

返回版本引用的资源

所有版本控制的 Image Builder 资源均返回版本引用:CreateGet APIs

  • 组件-CreateComponentGetComponent

  • 图片食谱-CreateImageRecipeGetImageRecipe

  • 容器食谱-CreateContainerRecipe, GetContainerRecipe

  • 图片-CreateImageGetImage

  • 工作流程-CreateWorkflowGetWorkflow

注意:由于Image Builder要求您始终使用最新版本的图像生成器管理的工作流程,因此仅latestVersionArn (x.x.x)返回图像生成器管理的工作流程。