Amazon Elastic Container Service 部署操作参考 - Amazon CodePipeline
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon Elastic Container Service 部署操作参考

您可以使用 Amazon ECS 操作来部署 Amazon ECS 服务和任务集。Amazon ECS 服务是部署到 Amazon ECS 集群的容器应用程序。Amazon ECS 集群是在云中托管容器应用程序的实例集。部署需要您在 Amazon ECS 中创建的任务定义和 CodePipeline 用于部署映像的图像定义文件。

重要

Amazon ECS 的标准部署操作会根据 Amazon ECS 服务使用的修订版 CodePipeline 创建自己的任务定义修订版。如果您在不更新 Amazon ECS 服务的情况下为任务定义创建新的修订,则部署操作将忽略这些修订。

在创建管道之前,您必须已经创建 Amazon ECS 资源,在映像存储库中标记并存储了映像,并将 BuildSpec 文件上传到您的文件存储库。

注意

本参考主题介绍了 Amazon ECS 的标准部署操作 CodePipeline。有关中 Amazon ECS 到 CodeDeploy 蓝/绿部署操作的参考信息 CodePipeline,请参阅。Amazon 弹性容器服务和 CodeDeploy 蓝绿色部署操作参考

操作类型

  • 类别:Deploy

  • 拥有者:AWS

  • 提供方:ECS

  • 版本:1

配置参数

ClusterName

必需:是

Amazon ECS 中的 Amazon ECS 集群。

ServiceName

必需:是

您在 Amazon ECS 中创建的 Amazon ECS 服务。

FileName

必需:否

您的映像定义文件,该 JSON 描述服务的容器名称以及映像和标签。您需要将此文件用于 ECS 标准部署。有关更多信息,请参阅输入构件适用于 Amazon ECS 标准部署操作的 imagedefinitions.json 文件

DeploymentTimeout

必需:否

Amazon ECS 部署操作超时(以分钟为单位)。该超时可配置为此操作的最大默认超时。例如:

"DeploymentTimeout": "15"

输入构件

  • 构件数:1

  • 描述:该操作会在管道的源文件存储库中查找 imagedefinitions.json 文件。图像定义文档是一个 JSON 文件,用于描述您的 Amazon ECS 容器名称以及图像和标签。 CodePipeline 使用该文件从您的图像存储库(例如 Amazon ECR)中检索图像。在未自动执行操作的情况下,您可以为管道手动添加 imagedefinitions.json 文件。有关 imagedefinitions.json 文件的信息,请参阅适用于 Amazon ECS 标准部署操作的 imagedefinitions.json 文件

    操作需要已推送到您的映像存储库的现有映像。由于映像映射由 imagedefinitions.json 文件提供,因此操作不要求包含 Amazon ECR 源以作为管道中的源操作。

输出构件

  • 构件数:0

  • 描述:输出构件不适用于此操作类型。

操作声明

YAML
Name: DeployECS ActionTypeId: Category: Deploy Owner: AWS Provider: ECS Version: '1' RunOrder: 2 Configuration: ClusterName: my-ecs-cluster ServiceName: sample-app-service FileName: imagedefinitions.json DeploymentTimeout: '15' OutputArtifacts: [] InputArtifacts: - Name: my-image
JSON
{ "Name": "DeployECS", "ActionTypeId": { "Category": "Deploy", "Owner": "AWS", "Provider": "ECS", "Version": "1" }, "RunOrder": 2, "Configuration": { "ClusterName": "my-ecs-cluster", "ServiceName": "sample-app-service", "FileName": "imagedefinitions.json", "DeploymentTimeout": "15" }, "OutputArtifacts": [], "InputArtifacts": [ { "Name": "my-image" } ] },

下列相关资源在您使用此操作的过程中会有所帮助。