AppSpec 文件结构
下面是用于部署到 Amazon Lambda 和 EC2/本地计算平台的 AppSpec 文件的高级结构。
YAML 格式的 AppSpec 文件中的字符串值一定不能包含在引号("")中,除非另行指定。
用于 Amazon ECS 部署的 AppSpec 文件结构
注意
此 AppSpec 文件以 YAML 编写,但您可以使用相同的结构,以 JSON 编写一个。JSON 格式的 AppSpec 文件中的字符串总是包含在引号("")内。
version:0.0resources:ecs-service-specificationshooks:deployment-lifecycle-event-mappings
在此结构中:
- version
-
此部分指定 AppSpec 文件的版本。请勿更改此值。版本是必需的。当前,允许的唯一值为
0.0。此值由 CodeDeploy 保留,供将来使用。使用字符串指定 version。
- resources
-
此部分指定有关要部署的 Amazon ECS 应用程序的信息。
有关更多信息,请参阅 用于 Amazon ECS 部署的 AppSpec 的“resources”部分。
- hooks
-
此部分指定用于运行特定部署生命周期事件挂钩以验证部署的 Lambda 函数。
有关更多信息,请参阅 用于 Amazon ECS 部署的生命周期事件挂钩的列表。
用于 Amazon Lambda 部署的 AppSpec 文件结构
注意
此 AppSpec 文件以 YAML 编写,但您可以使用相同的结构,以 JSON 为 Lambda 部署编写 AppSpec 文件。JSON 格式的 AppSpec 文件中的字符串总是包含在引号("")内。
version:0.0resources:lambda-function-specificationshooks:deployment-lifecycle-event-mappings
在此结构中:
- version
-
此部分指定 AppSpec 文件的版本。请勿更改此值。版本是必需的。当前,允许的唯一值为
0.0。此值由 CodeDeploy 保留,供将来使用。使用字符串指定 version。
- resources
-
此部分指定有关要部署的 Lambda 函数的信息。
有关更多信息,请参阅 AppSpec 的“resources”部分(仅限 Amazon ECS 和 Amazon Lambda 部署)。
- hooks
-
此部分指定用于运行特定部署生命周期事件以验证部署的 Lambda 函数。
有关更多信息,请参阅 AppSpec 的“hooks”部分。
EC2/本地部署的 AppSpec 文件结构
version:0.0os:operating-system-namefiles:source-destination-files-mappingspermissions:permissions-specificationshooks:deployment-lifecycle-event-mappings
在此结构中:
- version
-
此部分指定 AppSpec 文件的版本。请勿更改此值。版本是必需的。当前,允许的唯一值为
0.0。此值由 CodeDeploy 保留,供将来使用。使用字符串指定 version。
- os
-
本部分指定您部署到的实例的操作系统值。版本是必需的。可以指定以下值:
-
linux - 实例是 Amazon Linux, Ubuntu Server 或 RHEL 实例。
-
windows - 实例是 Windows Server 实例。
使用字符串指定 os。
-
- 文件
-
此部分指定应在部署的 Install 事件期间复制到实例的文件的名称。
有关更多信息,请参阅 AppSpec 的“files”部分(仅限 EC2/本地部署)。
- ()权限
-
此部分指定在将
files部分中的文件复制到实例时,应如何向这些文件应用特殊权限(如果有)。本节仅适用于 Amazon Linux、Ubuntu Server 和 Red Hat Enterprise Linux(RHEL)实例。有关更多信息,请参阅AppSpec 的“permissions”部分(仅限 EC2/本地部署)。
- hooks
-
此部分指定在部署期间的特定部署生命周期事件处运行的脚本。
有关更多信息,请参阅 AppSpec 的“hooks”部分。