「渲染 Amazon ECS 任務定義」操作 YAML - Amazon CodeCatalyst

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

「渲染 Amazon ECS 任務定義」操作 YAML

以下是渲染 Amazon ECS 任務YAML定義動作的定義。若要瞭解如何使用此動作,請參閱修改 Amazon ECS 任務定義

此動作定義存在於更廣泛的工作流程定義檔案中的區段。如需有關此檔案的詳細資訊,請參閱工作流YAML定義

注意

接下來的大多數YAML屬性在可視化編輯器中都具有相應的 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

對應的使用者介面:工作流程圖/ECSRenderTaskDefinition_nn/ aws/ @v1 標籤 ecs-render-task-definition

DependsOn

(ECSRenderTaskDefinition/DependsOn)

(選用)

指定必須成功執行的動作、動作群組或閘道,才能執行此動作。

如需有關「依賴」功能的詳細資訊,請參閱。排序動作

對應的用戶界面:輸入選項卡/取決於- 可選

Compute

(ECSRenderTaskDefinition/Compute)

(選用)

用來執行工作流程動作的計算引擎。您可以在工作流程層級或動作層級指定計算,但不能同時指定兩者。在工作流程層級指定時,計算組態會套用至工作流程中定義的所有動作。在工作流程層級,您也可以在相同的執行個體上執行多個動作。如需詳細資訊,請參閱 跨動作共用運算

對應的用戶界面:

Type

(ECSRenderTaskDefinition/Compute/Type)

(如果包含Compute,則為必填)

運算引擎的類型。您可以使用下列其中一個值:

  • EC2(可視化編輯器)或EC2(YAML編輯器)

    針對動作執行期間的彈性進行優化

  • Lambda(可視化編輯器)或Lambda(YAML編輯器)

    最佳化動作啟動速度。

如需運算類型的更多相關資訊,請參閱運算類型

對應的 UI:配置選項卡/計算類型

Fleet

(ECSRenderTaskDefinition/Compute/Fleet)

(選用)

指定將執行工作流程或工作流程動作的機器或叢集。對於隨需叢集,當動作開始時,工作流程會佈建所需的資源,並在動作完成時銷毀機器。隨選艦隊的範例:Linux.x86-64.LargeLinux.x86-64.XLarge。如需隨選叢集的詳細資訊,請參閱隨選叢集屬性

透過佈建的叢集,您可以設定一組專用機器來執行工作流程動作。這些機器保持閒置狀態,可立即處理動作。如需已佈建叢集的詳細資訊,請參閱佈建的叢集屬性

Fleet果省略,預設值為Linux.x86-64.Large

對應的 UI:配置選項卡/計算機群

Timeout

(ECSRenderTaskDefinition/Timeout)

(選用)

指定動作在 CodeCatalyst 結束動作之前可執行的時間長度 (以分鐘為單位) 或小時和分鐘 (視覺化編輯器)。YAML最小值為 5 分鐘,最大值在中說明中工作流程的配額 CodeCatalyst。預設逾時與逾時上限相同。

對應的 UI:配置選項卡/超時- 可選

Inputs

(ECSRenderTaskDefinition/Inputs)

(選用)

Inputs節定義工作流程執行期間所ECSRenderTaskDefinition需的資料。

注意

每個 Render Amazon ECS 任務定義動作只允許一個輸入 (來源或成品)。變數不會計入此總數。

對應的 UI:輸入索引標籤

Sources

(ECSRenderTaskDefinition/Inputs/Sources)

(如果您的任務定義檔案儲存在來源儲存庫中,則為必要項目)

如果您的任務定義檔案儲存在來源儲存庫中,請指定該來源儲存庫的標籤。目前,唯一支援的標籤是WorkflowSource

如果您的任務定義檔案不包含在來源儲存庫中,則該檔案必須位於由其他動作產生的成品中。

如需來源的詳細資訊,請參閱 將來源儲存庫連線至工作

對應的用戶界面:輸入選項卡/源- 可選

Artifacts - input

(ECSRenderTaskDefinition/Inputs/Artifacts)

(如果您的任務定義檔案儲存在先前動作的輸出成品中,則為必要)

如果您要部署的任務定義檔案包含在先前動作所產生的成品中,請在此指定該成品。如果您的任務定義檔案不包含在成品中,則該檔案必須位於來源儲存庫中。

如需人工因素的詳細資訊 (包括範例),請參閱在動作之間共用成品和檔案

對應的 UI:組態索引標籤/成品- 選用

Variables - input

(ECSRenderTaskDefinition/Inputs/Variables)

(必要)

指定一系列名稱/值配對,這些配對定義您要讓動作可用的輸入變數。變數名稱限制為英數字元 (a-z、A-Z、0-9)、連字號 (-) 和底線 (_)。不允許空格。您無法使用引號來啟用變數名稱中的特殊字元和空格。

如需有關變數的更多資訊 (包括範例),請參閱在工作流中使用變數

對應的用戶界面:輸入選項卡/變量- 可選

Configuration

(ECSRenderTaskDefinition/Configuration)

(必要)

您可以在其中定義動作的組態屬性的區段。

對應的 UI:組態索引標籤

task-definition

(ECSRenderTaskDefinition/Configuration/task-definition)

(必要)

指定既有工作定義檔案的路徑。如果檔案位於來源儲存庫中,則路徑會相對於來源儲存庫根資料夾。如果您的檔案位於先前工作流程動作的人工因素中,則路徑會相對於人工因素根資料夾。如需有關任務定義檔案的詳細資訊,請參閱 Amazon 彈性容器服務開發人員指南中的任務定義

對應的 UI:配置選項卡/任務定義

container-definition-name

(ECSRenderTaskDefinition/Configuration/container-definition-name)

(必要)

指定要在其中執行 Docker 映像檔的容器名稱。您可以在任務定義檔案的containerDefinitionsname欄位中找到此名稱。如需詳細資訊,請參閱 Amazon 彈性容器服務開發人員指南中的名稱

對應的 UI:配置選項卡/容器名稱

image

(ECSRenderTaskDefinition/Configuration/image)

(必要)

指定您希望彩現 Amazon ECS 任務定義動作新增至任務定義檔案的 Docker 映像檔名稱。動作會將此名稱新增至任務定義檔案中的containerDefinitionsimage欄位。如果image欄位中已存在值,則動作會覆寫該值。您可以在影像名稱中包含變數。

範例:

如果您指定MyDockerImage:${WorkflowSource.CommitId},動作會新增MyDockerImage:commit-id至任務定義檔案,其中 commit-id 是工作流程在執行階段產生的提交 ID。

如果您指定my-ecr-repo/image-repo:$(date +%m-%d-%y-%H-%m-%s),則動作會加入 my-ecr-repo/圖像回購:date +%m-%d-%y-%H-%m-%s 到任務定義文件,其中 my-ecr-repo 是 Amazon 彈性容器註冊表(ECR)和 URI date +%m-%d-%y-%H-%m-%s 是工作流程在執行階段所month-day-year-hour-minute-second產生之格式的時間戳記。

如需有關image欄位的詳細資訊,請參閱 Amazon 彈性容器服務開發人員指南中的映像。如需變數的更多資訊,請參閱在工作流中使用變數

對應的 UI:配置選項卡/映像名稱

environment-variables

(ECSRenderTaskDefinition/Configuration/environment-variables)

(必要)

指定您希望 「渲染 Amazon ECS 任務定義」動作新增至任務定義檔案的環境變數。動作會將變數新增至任務定義檔案中的containerDefinitionsenvironment欄位。如果變數已存在於檔案中,動作會覆寫現有變數的值,並新增任何新變數。如需 Amazon ECS 環境變數的詳細資訊,請參閱 Amazon 彈性容器服務開發人員指南中的指定環境變數

對應的 UI:配置選項卡/環境變量- 可選

Outputs

(ECSRenderTaskDefinition/Outputs)

(必要)

定義在工作流程執行期間由動作輸出的資料。

對應的 UI:輸出索引標籤

Artifacts

(ECSRenderTaskDefinition/Outputs/Artifacts)

(必要)

指定動作所產生的人工因素。您可以參考這些人工因素作為其他動作中的輸入。

如需人工因素的詳細資訊 (包括範例),請參閱在動作之間共用成品和檔案

對應的 UI:輸出選項卡/成品

Name

(ECSRenderTaskDefinition/Outputs/Artifacts/Name)

(必要)

指定將包含更新之工作定義檔案的人工因素名稱。預設值為 MyTaskDefinitionArtifact。然後,您必須將此成品指定為「部署到 Amazon」ECS 動作的輸入。若要瞭解如何將此成品新增為「部署到 Amazon」ECS 動作的輸入,請參閱示例:修改 Amazon ECS 任務定義

對應的 UI:輸出選項卡/人造物/名稱

Files

(ECSRenderTaskDefinition/Outputs/Artifacts/Files)

(必要)

指定要包含在人工因素中的檔案。您必須指定,task-definition-*以便將更新的任務定義檔案 (開task-definition-頭為) 包括在內。

對應的 UI:輸出選項卡/人造物/文件

Variables

(ECSRenderTaskDefinition/Outputs/Variables)

(必要)

指定要透過渲染動作設定的變數名稱。render 動作會將此變數的值設定為更新工作定義檔案的名稱 (例如,task-definition-random-string.json)。然後,您必須在「部署到 Amazon」ECS 動作的任務定義 (視覺化編輯器) 或 task-definition (yaml 編輯器) 屬性中指定此變數。若要瞭解如何將此變數新增至「部署到 Amazon」ECS 動作,請參閱示例:修改 Amazon ECS 任務定義

預設:task-definition

對應的 UI:輸出標籤/變數/名稱欄位