自 2025 年 11 月 7 日起,Amazon CodeCatalyst 將不再向新客戶開放。如果您想要使用 服務,請在 2025 年 11 月 7 日之前註冊。如需詳細資訊,請參閱如何從 CodeCatalyst 遷移。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
「轉譯 Amazon ECS 任務定義」動作 YAML
以下是轉譯 Amazon ECS 任務定義動作的 YAML 定義。若要了解如何使用此動作,請參閱 修改 Amazon ECS 任務定義。
此動作定義以區段的形式存在於更廣泛的工作流程定義檔案中。如需有關此檔案的詳細資訊,請參閱工作流程 YAML 定義。
注意
下列大多數 YAML 屬性在視覺化編輯器中都有對應的 UI 元素。若要查詢 UI 元素,請使用 Ctrl+F。 元素會與其相關聯的 YAML 屬性一起列出。
# The workflow definition starts here.
# See 最上層屬性 for details.
        
Name: MyWorkflow
SchemaVersion: 1.0 
Actions:
# The action definition starts here.   
  ECSRenderTaskDefinition_nn: 
    Identifier: aws/ecs-render-task-definition@v1
    DependsOn:
      - build-action
    Compute:  
      Type: EC2 | Lambda
      Fleet: fleet-name
    Timeout: timeout-minutes
    Inputs:
      # Specify a source or an artifact, but not both.
      Sources:
        - source-name-1
      Artifacts:
        - task-definition-artifact
      Variables:
        - Name: variable-name-1
          Value: variable-value-1
        - Name: variable-name-2
          Value: variable-value-2
    Configuration 
      task-definition: task-definition-path
      container-definition-name: container-definition-name
      image: docker-image-name
      environment-variables:
        - variable-name-1=variable-value-1
        - variable-name-2=variable-value-2
    Outputs:
      Artifacts:
        - Name: TaskDefArtifact
          Files: "task-definition*"
      Variables:
        - task-definition
        ECSRenderTaskDefinition
(必要)
指定動作的名稱。工作流程中的所有動作名稱都必須是唯一的。動作名稱僅限於英數字元 (a-z、A-Z、0-9)、連字號 (-) 和底線 (_)。不允許空格。您不能使用引號在動作名稱中啟用特殊字元和空格。
預設:ECSRenderTaskDefinition_nn。
對應的 UI:組態索引標籤/動作名稱
Identifier
(ECSRenderTaskDefinition/Identifier)
(必要)
識別 動作。除非您想要變更版本,否則請勿變更此屬性。如需詳細資訊,請參閱指定要使用的動作版本。
預設:aws/ecs-render-task-definition@v1。
對應的 UI:工作流程圖表/ECSRenderTaskDefinition_nn/aws/ecs-render-task-definition@v1 標籤
DependsOn
(ECSRenderTaskDefinition/DependsOn)
(選用)
指定必須成功執行的動作、動作群組或閘道,才能執行此動作。
如需 'depends on' 功能的詳細資訊,請參閱 定序動作。
對應的 UI:輸入索引標籤/相依於 - 選用
Compute
(ECSRenderTaskDefinition/Compute)
(選用)
用來執行工作流程動作的運算引擎。您可以在工作流程層級或動作層級指定運算,但不能同時指定兩者。在工作流程層級指定時,運算組態會套用至工作流程中定義的所有動作。在工作流程層級,您也可以在同一個執行個體上執行多個動作。如需詳細資訊,請參閱跨動作共用運算。
對應的 UI:無
Type
(ECSRenderTaskDefinition/Compute/Type)
(如果Compute包含 則為必要)
運算引擎的類型。您可以使用下列其中一個值:
- 
      EC2 (視覺化編輯器) 或 EC2(YAML 編輯器)最佳化動作執行期間的彈性。 
- 
      Lambda (視覺化編輯器) 或 Lambda(YAML 編輯器)最佳化動作啟動速度。 
如需運算類型的更多相關資訊,請參閱運算類型。
對應的 UI:組態索引標籤/運算類型
Fleet
(ECSRenderTaskDefinition/Compute/Fleet)
(選用)
指定將執行工作流程或工作流程動作的機器或機群。使用隨需機群時,當動作開始時,工作流程會佈建所需的資源,並在動作完成時銷毀機器。隨需機群範例:Linux.x86-64.Large、Linux.x86-64.XLarge。如需隨需機群的詳細資訊,請參閱 隨需的機群屬性。
使用佈建機群,您可以設定一組專用機器來執行工作流程動作。這些機器保持閒置狀態,準備好立即處理動作。如需佈建機群的詳細資訊,請參閱 佈建的機群屬性。
如果省略 Fleet ,則預設值為 Linux.x86-64.Large。
對應的 UI:組態索引標籤/運算機群
Timeout
(ECSRenderTaskDefinition/Timeout)
(選用)
指定在 CodeCatalyst 結束動作之前,動作可執行的時間,以分鐘為單位 (YAML 編輯器) 或小時和分鐘為單位。最小值為 5 分鐘,最大值如 中所述CodeCatalyst 中工作流程的配額。預設逾時與最大逾時相同。
對應的 UI:組態索引標籤/逾時 - 選用
Inputs
(ECSRenderTaskDefinition/Inputs)
(選用)
Inputs 區段定義工作流程執行期間 ECSRenderTaskDefinition所需的資料。
注意
每個轉譯 Amazon ECS 任務定義動作只允許一個輸入 (來源或成品)。變數不會計入此總計。
對應的 UI:輸入索引標籤
Sources
(ECSRenderTaskDefinition/Inputs/Sources)
(如果您的任務定義檔案存放在來源儲存庫中,則為必要項目)
如果您的任務定義檔案存放在來源儲存庫中,請指定該來源儲存庫的標籤。目前,唯一支援的標籤是 WorkflowSource。
如果您的任務定義檔案不包含在來源儲存庫中,則必須位於另一個動作所產生的成品中。
如需來源的詳細資訊,請參閱 將來源儲存庫連線至工作流程。
對應的 UI:輸入索引標籤/來源 - 選用
Artifacts - input
(ECSRenderTaskDefinition/Inputs/Artifacts)
(如果您的任務定義檔案存放在先前動作的輸出成品中,則為必要項目)
如果您想要部署的任務定義檔案包含在先前動作產生的成品中,請在此處指定該成品。如果您的任務定義檔案不包含在成品中,則必須位於來源儲存庫中。
如需成品的詳細資訊,包括範例,請參閱 在動作之間共用成品和檔案。
對應的 UI:組態索引標籤/成品 - 選用
Variables - input
(ECSRenderTaskDefinition/Inputs/Variables)
(必要)
指定名稱/值對的序列,以定義您要提供給動作的輸入變數。變數名稱僅限於英數字元 (a-z、A-Z、0-9)、連字號 (-) 和底線 (_)。不允許空格。您不能使用引號在變數名稱中啟用特殊字元和空格。
如需變數的詳細資訊,包括範例,請參閱 在工作流程中使用變數。
對應的 UI:輸入索引標籤/變數 - 選用
Configuration
(ECSRenderTaskDefinition/Configuration)
(必要)
您可以在此區段定義 動作的組態屬性。
對應的 UI:組態索引標籤
task-definition
(ECSRenderTaskDefinition/Configuration/task-definition)
(必要)
指定現有任務定義檔案的路徑。如果檔案位於來源儲存庫中,則路徑會與來源儲存庫根資料夾相對。如果您的檔案位於先前工作流程動作的成品中,則路徑會與成品根資料夾相對。如需任務定義檔案的詳細資訊,請參閱《Amazon Elastic Container Service 開發人員指南》中的任務定義。
對應的 UI:組態索引標籤/任務定義
container-definition-name
(ECSRenderTaskDefinition/Configuration/container-definition-name)
(必要)
指定執行 Docker 映像的容器名稱。您可以在任務定義檔案的 containerDefinitions、 name 欄位中找到此名稱。如需詳細資訊,請參閱《Amazon Elastic Container Service 開發人員指南》中的名稱。
對應的 UI:組態索引標籤/容器名稱
image
(ECSRenderTaskDefinition/Configuration/image)
(必要)
指定您希望轉譯 Amazon ECS 任務定義動作新增至任務定義檔案的 Docker 映像名稱。動作會將此名稱新增至任務定義檔案中的 containerDefinitions、 image 欄位。如果 image 欄位中已存在值,則動作會覆寫該值。您可以在映像名稱中包含變數。
範例:
如果您指定 MyDockerImage:${WorkflowSource.CommitId},動作會MyDockerImage:新增至任務定義檔案,其中 commit-idcommit-id 是工作流程在執行時間產生的遞交 ID。
如果您指定 my-ecr-repo/image-repo:$(date +%m-%d-%y-%H-%m-%s),動作會將 my-ecr-repo/image-repo:date +%m-%d-%y-%H-%m-%s 新增至任務定義檔案,其中 my-ecr-repo 是 Amazon Elastic Container Registry (ECR) 的 URI,而 date +%m-%d-%y-%H-%m-%s 是工作流程在執行時間month-day-year-hour-minute-second產生的格式時間戳記。
如需 image 欄位的詳細資訊,請參閱《Amazon Elastic Container Service 開發人員指南》中的映像。如需變數的詳細資訊,請參閱 在工作流程中使用變數。
對應的 UI:組態索引標籤/映像名稱
environment-variables
(ECSRenderTaskDefinition/Configuration/environment-variables)
(必要)
指定您希望轉譯 Amazon ECS 任務定義動作新增至任務定義檔案的環境變數。動作會將變數新增至任務定義檔案中的 containerDefinitions, environment 欄位。如果 檔案中已存在變數,則 動作會覆寫現有變數的值,並新增任何新變數。如需 Amazon ECS 環境變數的詳細資訊,請參閱《Amazon Elastic Container Service 開發人員指南》中的指定環境變數。
對應的 UI:組態索引標籤/環境變數 - 選用
Outputs
(ECSRenderTaskDefinition/Outputs)
(必要)
定義工作流程執行期間 動作輸出的資料。
對應的 UI:輸出索引標籤
Artifacts
(ECSRenderTaskDefinition/Outputs/Artifacts)
(必要)
指定 動作產生的成品。您可以參考這些成品做為其他動作的輸入。
如需成品的詳細資訊,包括範例,請參閱 在動作之間共用成品和檔案。
對應的 UI:輸出索引標籤/成品
Name
(ECSRenderTaskDefinition/Outputs/Artifacts/Name)
(必要)
指定將包含更新任務定義檔案的成品名稱。預設值為 MyTaskDefinitionArtifact。然後,您必須將此成品指定為部署至 Amazon ECS 動作的輸入。若要了解如何將此成品新增為部署至 Amazon ECS 動作的輸入,請參閱 範例:修改 Amazon ECS taskdef。
對應的 UI:輸出索引標籤/成品/名稱
Files
(ECSRenderTaskDefinition/Outputs/Artifacts/Files)
(必要)
指定要包含在成品中的檔案。您必須指定 ,task-definition-*以便task-definition-包含以 開頭的更新任務定義檔案。
對應的 UI:輸出索引標籤/成品/檔案
Variables
(ECSRenderTaskDefinition/Outputs/Variables)
(必要)
指定要由轉譯動作設定的變數名稱。轉譯動作會將此變數的值設定為已更新任務定義檔案的名稱 (例如 task-definition-random-string.json)。然後,您必須在部署到 Amazon ECS 動作的任務定義 (視覺化編輯器) 或 task-definition(yaml 編輯器) 屬性中指定此變數。若要了解如何將此變數新增至部署至 Amazon ECS 動作,請參閱 範例:修改 Amazon ECS taskdef 。
預設:task-definition
對應的 UI:輸出索引標籤/變數/名稱欄位