本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Image Builder 创建自定义组件
完成组件文档后,您可以使用它来创建 Image Builder 配方可以使用的自定义组件。您可以通过 Image Builder 控制台SDKs、API或命令行创建自定义组件。有关如何使用输入参数创建自定义组件并在配方中使用该组件的更多信息,请参阅教程:使用输入参数创建自定义组件。
以下各节介绍如何通过控制台或从控制台创建组件 AWS CLI。
从控制台创建自定义组件
要通过 Image Builder 控制台创建 AWSTOE 应用程序组件,请执行以下步骤:
-
打开 EC2 Image Builder 控制台,网址为https://console.aws.amazon.com/imagebuilder/
。 -
在导航窗格中选择组件。然后,选择 Create component (创建组件)。
-
在 Create component (创建组件) 页面上的 Component details (组件详细信息) 下,输入以下内容:
-
Image Operating system (OS) (镜像操作系统 (OS))。指定与该组件兼容的操作系统。
-
Component category (组件类别)。从下拉列表中,选择要创建的生成或测试组件的类型。
-
Component name (组件名称)。输入组件的名称。
-
Component version (组件版本)。输入组件的版本号。
-
描述。提供可选的描述以帮助您标识组件。
-
Change description (更改描述)。提供可选的描述,以帮助您了解对该组件版本进行的更改。
-
-
在定义文档部分中,默认选项为定义文档内容。组件文档定义了 Image Builder 在构建和测试实例上执行的用于创建映像的操作。
在内容框中,输入您的YAML组件文档内容。要从 Linux 的 Hello World 示例开始,请选择使用示例选项。要了解有关如何创建YAML组件文档或从该页面复制并粘贴 updateOS 示例的更多信息,请参阅。在 Image YAML Builder 中为自定义组件创建组件文档
-
在输入组件详细信息后,选择创建组件。
注意
要在创建或更新配方时查看您的新组件,请将我拥有的筛选条件应用于构建或测试组件列表。筛选条件位于组件列表顶部的搜索框旁边。
-
要删除组件,请从 Components (组件) 页面中选中要删除的组件旁边的复选框。从 Actions (操作) 下拉列表中,选择 Delete component (删除组件)。
更新组件
要创建新的组件版本,请遵循以下步骤:
-
取决于您从哪个位置开始:
-
从组件列表页面 — 选中组件名称旁边的复选框,然后从操作菜单中选择创建新版本。
-
从组件详情页面 — 选择标题右上角的创建新版本按钮。
-
-
当显示创建组件页面时,组件信息已使用当前值进行填充。按照创建组件步骤更新组件。这样可以确保在组件版本中输入唯一的语义版本。要了解有关 Image Builder 资源的语义版本控制的更多信息,请参阅Image Builder 中的语义版本控制。
从中创建自定义组件 AWS CLI
在本节中,您将学习如何设置和使用中的 Image Builder 命令 AWS CLI 来创建 AWSTOE 应用程序组件,如下所示。
-
将您的YAML组件文档上传到可从命令行引用的 S3 存储桶。
-
使用create-component命令创建 AWSTOE 应用程序组件。
-
使用 list-components 命令和名称筛选器列出组件版本,以查看已存在哪些版本。您可以使用输出来确定应使用哪个版本进行更新。
要根据输入YAML文档创建 AWSTOE 应用程序组件,请按照与您的映像操作系统平台相匹配的步骤进行操作。
AWSTOE 组件版本控制,用于来自的更新 AWS CLI
AWSTOE 组件名称和版本嵌入在组件的 Amazon 资源名称 (ARN) 中,位于组件前缀之后。每个新版本的组件都有自己的独特之处ARN。创建新版本的步骤与创建新组件的步骤完全相同,前提是该组件名称的语义版本是唯一的。要了解有关 Image Builder 资源的语义版本控制的更多信息,请参阅Image Builder 中的语义版本控制。
为确保分配下一个逻辑版本,请先获取要更改的组件的现有版本列表。使用带有 AWS CLI、并筛选名称的list-components命令。
在此示例中,您将根据在前面的 Linux 示例中创建的组件的名称进行筛选。要列出您创建的组件,请使用您在create-component命令中使用的JSON文件中的name
参数值。
aws imagebuilder list-components --filters name="name",values="
update-linux-os
"{ "requestId": "123a4567-b890-123c-45d6-ef789ab0cd1e", "componentVersionList": [ { "arn": "arn:aws:imagebuilder:us-west-2:1234560087789012:component/update-linux-os/1.0.0", "name": "update-linux-os", "version": "1.0.0", "platform": "Linux", "type": "BUILD", "owner": "123456789012", "dateCreated": "2020-09-24T16:58:24.444Z" }, { "arn": "arn:aws:imagebuilder:us-west-2:1234560087789012:component/update-linux-os/1.0.1", "name": "update-linux-os", "version": "1.0.1", "platform": "Linux", "type": "BUILD", "owner": "123456789012", "dateCreated": "2021-07-10T03:38:46.091Z" } ] }
根据您的结果,您可以确定下一个版本应该是什么。
导入脚本以从中创建组件 AWS CLI
在某些情况下,从预先存在的脚本入手可能更容易一些。对于本文中的情况,您可以使用以下示例。
该示例假定您具有一个名为
的文件(如下所示)。请注意,该文件直接引用了一个名为的 PowerShell 脚本import-component.json
AdminConfig.ps1
,该脚本已上传到
。目前,组件 amzn-s3-demo-source-bucket
format
支持 SHELL
。
{ "name": "
MyImportedComponent
", "semanticVersion": "1.0.0", "description": "An example of how to import a component
", "changeDescription": "First commit message.
", "format": "SHELL", "platform": "Windows", "type": "BUILD", "uri": "s3://amzn-s3-demo-source-bucket
/AdminConfig.ps1
", "kmsKeyId": "arn:aws:kms:us-west-:key/
2:123456789012
60763706-b131-418b-8f85-3420912f020c
" }
要使用导入的脚本创建组件,请运行以下命令。
aws imagebuilder import-component --cli-input-json file://
import-component.json