Amazon 弹性容器服务部署操作参考 - AWS CodePipeline

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

Amazon 弹性容器服务部署操作参考

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

重要

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

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

注意

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

操作类型

  • 类别:Deploy

  • 拥有者:AWS

  • 提供方:ECS

  • 版本:1

配置参数

ClusterName

必需:是

亚马逊中的亚马逊ECS集群ECS。

ServiceName

必需:是

您在亚马逊上创建的亚马逊ECS服务ECS。

FileName

必需:否

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

DeploymentTimeout

必需:否

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

"DeploymentTimeout": "15"

输入构件

  • 构件数:1

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

    操作需要已推送到您的映像存储库的现有映像。由于图像映射是由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" } ] },

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

  • 教程:使用持续部署 CodePipeline — 本教程向您展示如何创建存储在源文件存储库中的 Dockerfile,例如。 CodeCommit接下来,本教程将向您展示如何合并一个 CodeBuild BuildSpec 文件,该文件用于生成您的 Docker 映像并将其推送到亚马逊,以及如何创建 imagedefin ECR itions.json 文件。最后,创建亚马逊ECS服务和任务定义,然后使用亚马逊ECS部署操作创建管道。

    注意

    本主题和教程介绍了 Amazon 的ECS标准部署操作 CodePipeline。有关中 Amazon ECS 到 CodeDeploy 蓝/绿部署操作的信息 CodePipeline,请参阅。教程:使用 Amazon ECR 源代码和 ECS-to-部署创建管道 CodeDeploy

  • 亚马逊弹性容器服务开发者指南 — 有关使用 Docker 镜像和容器、亚马逊ECS服务和集群以及亚马逊ECS任务集的信息,请参阅什么是亚马逊 ECS