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

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

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 標準部署。如需詳細資訊,請參閱 Input artifacts (輸入成品)Amazon ECS 標準部署動作的 imagedefinitions.json 檔案

DeploymentTimeout

必要:否

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

"DeploymentTimeout": "15"

Input artifacts (輸入成品)

  • 成品數量: 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" } ] },

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