AppSpec 文件结构 - Amazon CodeDeploy
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

AppSpec 文件结构

下面是用于部署到 Amazon Lambda 和 EC2/本地计算平台的 AppSpec 文件的高级结构。

YAML 格式的 AppSpec 文件中的字符串值一定不能包含在引号("")中,除非另行指定。

用于 Amazon ECS 部署的 AppSpec 文件结构

注意

此 AppSpec 文件以 YAML 编写,但您可以使用相同的结构,以 JSON 编写一个。JSON 格式的 AppSpec 文件中的字符串总是包含在引号("")内。

version: 0.0 resources: ecs-service-specifications hooks: 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.0 resources: lambda-function-specifications hooks: 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.0 os: operating-system-name files: source-destination-files-mappings permissions: permissions-specifications hooks: 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”部分