“渲染 Amazon ECS 任务定义”操作 YAML - 亚马逊 CodeCatalyst

从2025年11月7日起,亚马逊 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

相应的用户界面:工作流程图/ECSRenderTaskDefinition_nn/ aws/ @v1 标签 ecs-render-task-definition

DependsOn

(ECSRenderTaskDefinition/DependsOn)

(可选)

指定必须成功运行才能使该操作运行的操作、操作组或阶段门。

有关“依赖于”功能的更多信息,请参阅顺序操作

对应的 UI:“输入”选项卡/依赖于 – 可选

Compute

(ECSRenderTaskDefinition/Compute)

(可选)

用于运行工作流操作的计算引擎。您可以在工作流级别或操作级别指定计算,但不能同时在这两个级别指定计算。在工作流级别指定计算时,计算配置将应用于工作流中定义的所有操作。在工作流级别,您还可以在同一个实例上运行多个操作。有关更多信息,请参阅跨操作共享计算

对应的 UI:

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 所需的数据。

注意

每个渲染 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-id添加到任务定义文件中,其中commit-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 弹性容器注册表 (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:“输出”选项卡/变量/名称字段