本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
“渲染 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.Large
,Linux.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 镜像的容器的名称。您可以在任务定义文件的containerDefinitions
、name
字段中找到此名称。有关更多信息,请参阅《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:“输出” 选项卡/变量/ “名称” 字段