Amazon Elastic Container Service 部署操作参考
您可以使用 Amazon ECS 操作来部署 Amazon ECS 服务和任务集。Amazon ECS 服务是部署到 Amazon ECS 集群的容器应用程序。Amazon ECS 集群是在云中托管容器应用程序的实例集。部署需要您在 Amazon ECS 中创建的任务定义,以及 CodePipeline 用于部署映像的映像定义文件。
重要
CodePipeline 的 Amazon ECS 标准部署操作会根据 Amazon ECS 服务使用的任务定义修订,创建自己的修订。如果您在不更新 Amazon ECS 服务的情况下为任务定义创建新的修订,则部署操作将忽略这些修订。
在创建管道之前,您必须事先创建 Amazon ECS 资源,在映像存储库中标记并存储映像,并将 BuildSpec 文件上传到您的文件存储库。
注意
本参考主题介绍 CodePipeline 的 Amazon ECS 标准部署操作。有关 CodePipeline 中 Amazon ECS 到 CodeDeploy 蓝绿部署操作的参考信息,请参阅 Amazon Elastic Container Service 和 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 -
描述:输出构件不适用于此操作类型。
服务角色权限:Amazon ECS 标准操作
对于 Amazon ECS,以下是创建具有 Amazon ECS 部署操作的管道所需的最低权限。
您可以选择加入以使用 Amazon ECS 中的标记授权。选择加入后,您必须授予以下权限:ecs:TagResource。有关如何选择加入以及如何确定是否需要权限和是否强制执行标记授权的更多信息,请参阅《Amazon Elastic Container Service 开发者指南》中的标记授权时间表。
您必须添加 iam:PassRole 权限以使用 IAM 角色执行任务。有关更多信息,请参阅 Amazon ECS 任务执行 IAM 角色和任务 IAM 角色。使用以下策略文本。
操作声明
另请参阅
下列相关资源在您使用此操作的过程中会有所帮助。
-
请参阅教程:使用 CodePipeline 构建 Docker 映像并将其推送到 Amazon ECR(V2 类型)中的教程,了解如何使用 ECRBuildandPublish 操作推送映像,然后使用 ECS 标准操作部署到 Amazon ECS。
-
教程:使用 CodePipeline 进行持续部署:本教程向您展示如何创建存储在源文件存储库(如 CodeCommit)中的 Dockerfile。接下来,本教程将展示如何合并一个 CodeBuild BuildSpec 文件,该文件用于构建您的 Docker 映像并将其推送到 Amazon ECR,然后创建 imagedefinitions.json 文件。最后,您将创建 Amazon ECS 服务和任务定义,然后创建具有 Amazon ECS 部署操作的管道。
注意
本主题和教程介绍 CodePipeline 的 Amazon ECS 标准部署操作。有关 CodePipeline 中 Amazon ECS 到 CodeDeploy 蓝绿部署操作的信息,请参阅教程:创建包含 Amazon ECR 源和 ECS 至 CodeDeploy 部署的管道。
-
Amazon Elastic Container Service 开发者指南:有关使用 Docker 映像和容器、Amazon ECS 服务和集群以及 Amazon ECS 任务集的信息,请参阅什么是 Amazon ECS?