Amazon Elastic Container Service 部署動作參考 - AWS CodePipeline

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

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 Elastic Container Service 和 CodeDeploy 藍綠部署動作參考

動作類型

  • 類別:Deploy

  • 擁有者:AWS

  • 提供者:ECS

  • 版本:1

組態參數

ClusterName

必要:是

Amazon 中的 Amazon ECS叢集ECS。

ServiceName

必要:是

您在 Amazon 中建立的 Amazon ECS服務ECS。

FileName

必要:否

映像定義檔案的名稱、描述服務容器名稱JSON的檔案,以及映像和標籤。您可以使用此檔案進行ECS標準部署。如需詳細資訊,請參閱 Input artifacts (輸入成品)Amazon ECS標準部署動作的 image Definitions.json 檔案

DeploymentTimeout

必要:否

Amazon ECS 部署動作會在幾分鐘內逾時。逾時值可設定為不超過此動作的預設逾時值上限。例如:

"DeploymentTimeout": "15"

Input artifacts (輸入成品)

  • 成品數量: 1

  • 描述:動作會在管道的來源imagedefinitions.json檔案儲存庫中尋找檔案。映像定義文件是描述 Amazon ECS容器名稱和映像和標籤JSON的檔案。 CodePipeline 會使用 檔案從映像儲存庫擷取映像,例如 Amazon ECR。您可以手動新增未自動化動作之管道imagedefinitions.json的檔案。如需 imagedefinitions.json 詳細資訊,請參閱 Amazon ECS標準部署動作的 image Definitions.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" } ] },

以下相關資源可協助您使用此動作。

  • 教學課程:使用 持續部署 CodePipeline – 本教學課程示範如何建立存放在來源檔案儲存庫中的 Dockerfile,例如 CodeCommit。接下來,本教學課程會示範如何整合建置 Docker 映像並推送至 Amazon CodeBuild BuildSpec 的檔案,ECR以及建立 image Definitions.json 檔案。最後,您建立 Amazon ECS服務和任務定義,然後使用 Amazon ECS 部署動作建立管道。

    注意

    本主題和教學課程說明 的 Amazon ECS標準部署動作 CodePipeline。如需 中 Amazon ECS至 CodeDeploy 藍/綠部署動作的相關資訊 CodePipeline,請參閱 教學課程:使用 Amazon ECR來源和 部署ECS至 CodeDeploy 部署建立管道

  • Amazon Elastic Container Service 開發人員指南 – 如需使用 Docker 映像和容器、Amazon ECS服務和叢集以及 Amazon ECS任務集的相關資訊,請參閱什麼是 AmazonECS?