

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

# 创建映像工作流
<a name="image-workflow-create-resource"></a>

创建映像工作流时，您可以更好地控制映像创建过程。您可以指定 Image Builder 构建和测试映像时运行的工作流。您还可以指定客户托管密钥以加密工作流资源。要了解有关工作流资源加密的更多信息，请参阅[Image Builder 中的加密和密钥管理](data-protection.md#ib-encryption)。

对于映像创建，您可以指定一个构建阶段工作流以及一个或多个测试阶段工作流。根据需求，您甚至可以完全跳过构建或测试阶段。您可以在工作流使用的 YAML 定义文档中配置工作流执行的操作。有关 YAML 文档语法的更多信息，请参阅[创建 YAML 工作流文档](image-workflow-create-document.md)。

有关创建新构建或测试工作流的步骤，请选择与您将要使用的环境相匹配的选项卡。

------
#### [ AWS 管理控制台 ]

您可以按照以下步骤在 Image Builder 控制台中创建新的工作流。

1. 打开 EC2 Image Builder 控制台，网址为[https://console.aws.amazon.com/imagebuilder/](https://console.aws.amazon.com/imagebuilder/)。

1. 从导航窗格中，选择**映像工作流**。此操作将显示您账户拥有或有权访问的映像工作流列表。
**注意**  
您将始终在列表中看到 Image Builder 用于其默认工作流、由 Amazon 管理的工作流资源。要查看这些工作流的详细信息，可以选择**工作流**链接。

1. 要创建新的工作流，请选择**创建映像工作流**。此操作将显示**创建映像工作流**页面。

1. 为新工作流配置详细信息。要创建构建工作流，请选择表单顶部附近的**构建**选项。要创建测试工作流，请选择表单顶部附近的**测试**选项。Image Builder 会根据此选项填充**模板**列表。构建和测试工作流的所有其他步骤都相同。

**一般性问题**  
“常规”部分包括适用于工作流资源的设置，例如名称和描述。“常规”设置包含以下内容：
   + **映像工作流名称**（必需）– 映像工作流的名称。该名称在您的账户中必须是唯一的。名称长度不超过 128 个字符。有效字符包括字母、数字、空格、`-` 和 `_`。
   + **版本**（必需）– 要创建的工作流资源的语义版本（*major.minor.patch*）。
   + **描述**（可选）– 可以选择性为工作流添加描述。
   + **KMS 密钥**（可选）– 您可以使用客户托管密钥加密工作流资源。有关更多信息，请参阅 [使用客户托管密钥加密映像工作流](data-protection.md#ib-workflow-encrypt-cmk)。

**定义文档**  
YAML 工作流文档包含工作流的所有配置。

**开始使用**
   + 要开始使用 Image Builder 默认模板作为工作流的基准，请选择**从模板开始**选项。已默认选定此选项。从**模板**列表中选择要使用的模板后，会将您选择的模板中的默认配置复制到新工作流文档的**内容**中，您可以在其中进行更改。
   + 要从头开始定义工作流文档，请选择**从头开始**选项。此操作会在**内容**中填充文档格式中一些重要部分的简短概述，以帮助您入门。

   **内容**面板底部有一个状态栏，显示 YAML 文档的警告或错误。有关如何创建 YAML 工作流文档的更多信息，请参阅[创建 YAML 工作流文档](image-workflow-create-document.md)。

1. 完成工作流后，或者如果您想保存进度稍后返回，请选择**创建工作流**。

------
#### [ AWS CLI ]

在中运行**[create-workflow](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/create-workflow.html)**命令之前 AWS CLI，必须创建包含工作流程所有配置的 YAML 文档。有关更多信息，请参阅 [创建 YAML 工作流文档](image-workflow-create-document.md)。

以下示例演示了如何使用 [create-workflow](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/create-workflow.html) AWS CLI 命令创建构建工作流。`--data` 参数是指 YAML 文档，其中包含您创建的工作流的构建配置。

**示例：创建工作流**

```
aws imagebuilder create-workflow --name example-build-workflow --semantic-version 1.0.0 --type BUILD --data file://example-build-workflow.yml
```

**输出**：

```
{
	"workflowBuildVersionArn": "arn:aws:imagebuilder:us-west-2:111122223333:workflow/build/example-build-workflow/1.0.0/1",
	"clientToken": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222"
}
```

以下示例演示了如何使用 [create-workflow](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/create-workflow.html) AWS CLI 命令创建测试工作流。`--data` 参数是指 YAML 文档，其中包含您创建的工作流的构建配置。

**示例：创建测试工作流**

```
aws imagebuilder create-workflow --name example-test-workflow --semantic-version 1.0.0 --type TEST --data file://example-test-workflow.yml
```

**输出**：

```
{
	"workflowBuildVersionArn": "arn:aws:imagebuilder:us-west-2:111122223333:workflow/test/example-test-workflow/1.0.0/1",
	"clientToken": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222"
}
```

------