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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

“渲染 Amazon ECS 任务定义” 操作 YAML

以下是 “渲染 Amazon” ECS 任务定义操作的定义。YAML要了解如何使用此操作,请参阅修改 Amazon ECS 任务定义

此操作定义作为一个部分存在于更广泛的工作流程定义文件中。有关此文件的更多信息,请参阅 工作流程YAML定义

注意

接下来的大多数YAML属性在可视化编辑器中都有相应的用户界面元素。要查找用户界面元素,请使用 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

如果您的任务定义文件不包含在源存储库中,则它必须位于另一个操作生成的对象中。

更多有关来源的信息,请参阅 将源存储库连接到工作流程

相应的 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 弹性容器服务开发人员指南中的任务定义

对应的 UI:“配置” 选项卡/ “任务定义”

container-definition-name

(ECSRenderTaskDefinition/Configuration/container-definition-name)

(必需)

指定要在其中运行 Docker 镜像的容器的名称。您可以在任务定义文件的containerDefinitionsname字段中找到此名称。有关更多信息,请参阅《Amazon 弹性容器服务开发者指南》中的名称

对应的用户界面:配置选项卡/ 容器名称

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 是 A URI mazon 弹性容器注册表 (ECR) 和 date +%m-%d-%y-%H-%m-%s 是工作流程在运行时month-day-year-hour-minute-second生成的格式的时间戳。

有关该image字段的更多信息,请参阅《亚马逊弹性容器服务开发者指南》中的图片。有关变量的更多信息,请参阅在工作流程中使用变量

对应的 UI:“配置” 选项卡/ 镜像名称

environment-variables

(ECSRenderTaskDefinition/Configuration/environment-variables)

(必需)

指定您希望 “渲染 Amazon” ECS 任务定义操作添加到任务定义文件中的环境变量。该操作会将变量添加到任务定义文件中的 “containerDefinitions,environment” 字段。如果文件中已存在变量,则该操作将覆盖现有变量的值并添加任何新变量。有关亚马逊ECS环境变量的更多信息,请参阅《亚马逊弹性容器服务开发人员指南》中的指定环境变量

相应的 UI:配置选项卡/ 环境变量- 可选

Outputs

(ECSRenderTaskDefinition/Outputs)

(必需)

定义操作在工作流程运行期间输出的数据。

相应的 UI:“输出” 选项卡

Artifacts

(ECSRenderTaskDefinition/Outputs/Artifacts)

(必需)

指定操作生成的对象。您可以在其他操作中引用这些构件作为输入。

有关构件的更多信息(包括示例),请参阅在操作之间共享构件和文件

相应的 UI:“输出” 选项卡/ 工件

Name

(ECSRenderTaskDefinition/Outputs/Artifacts/Name)

(必需)

指定将包含更新的任务定义文件的对象的名称。默认值为 MyTaskDefinitionArtifact。然后,您必须将此项目指定为 “部署到 Amazon ECS” 操作的输入。要了解如何将此项目作为输入添加到 “部署到 Amazon ECS” 操作,请参阅示例:修改 Amazon t ECS askdef

对应的用户界面:“输出” 选项卡/构件/名称

Files

(ECSRenderTaskDefinition/Outputs/Artifacts/Files)

(必需)

指定要包含在构件中的文件。您必须指定,task-definition-*以便将更新的任务定义文件(以task-definition-开头)包括在内。

对应的用户界面:“输出” 选项卡/构件/ 文件

Variables

(ECSRenderTaskDefinition/Outputs/Variables)

(必需)

指定要由渲染操作设置的变量的名称。渲染操作会将此变量的值设置为更新的任务定义文件的名称(例如task-definition-random-string.json)。然后,您必须在 Deploy to Amazon ECS 操作的任务定义(可视化编辑器)或task-definition(yaml 编辑器)属性中指定此变量。要了解如何将此变量添加到 “部署到 Amazon ECS” 操作,请参阅示例:修改 Amazon t ECS askdef

默认:task-definition

相应的 UI:“输出” 选项卡/变量/ “名称” 字段