AppSpec 文件结构 - AWS CodeDeploy

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

AppSpec 文件结构

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

除非另有说明,否则YAML格式化 AppSpec 文件中的字符串值不得用引号 (“”) 括起来。

AppSpec Amazon ECS 部署的文件结构

注意

这个 AppSpec 文件是用写入的YAML,但你可以用同样的结构写入一个JSON。JSON格式化 AppSpec 文件中的字符串总是用引号 (“”) 括起来。

version: 0.0 resources: ecs-service-specifications hooks: deployment-lifecycle-event-mappings

在此结构中:

版本

本节指定了 AppSpec 文件的版本。请勿更改此值。版本是必需的。当前,允许的唯一值为 0.0。它由保留 CodeDeploy 以备将来使用。

使用字符串指定 version

resources

本节指定了有关要部署的 Amazon ECS 应用程序的信息。

有关更多信息,请参阅 AppSpec Amazon ECS 部署的 “资源” 部分

hooks

此部分指定用于运行特定部署生命周期事件挂钩以验证部署的 Lambda 函数。

有关更多信息,请参阅 Amazon ECS 部署的生命周期事件挂钩列表

AppSpec AWS Lambda 部署的文件结构

注意

此 AppSpec 文件已写入YAML,但您可以使用相同的结构在中为 Lambda 部署写入 AppSpec 文件。JSONJSON格式化 AppSpec 文件中的字符串总是用引号 (“”) 括起来。

version: 0.0 resources: lambda-function-specifications hooks: deployment-lifecycle-event-mappings

在此结构中:

版本

本节指定了 AppSpec 文件的版本。请勿更改此值。版本是必需的。当前,允许的唯一值为 0.0。它由保留 CodeDeploy 以备将来使用。

使用字符串指定 version

resources

此部分指定有关要部署的 Lambda 函数的信息。

有关更多信息,请参阅 AppSpec “资源” 部分(仅限 Amazon ECS 和 AWS Lambda 部署)

hooks

此部分指定用于运行特定部署生命周期事件以验证部署的 Lambda 函数。

有关更多信息,请参阅 AppSpec “挂钩” 部分

AppSpec EC2/本地部署的文件结构

version: 0.0 os: operating-system-name files: source-destination-files-mappings permissions: permissions-specifications hooks: deployment-lifecycle-event-mappings

在此结构中:

版本

本节指定了 AppSpec 文件的版本。请勿更改此值。版本是必需的。当前,允许的唯一值为 0.0。它由保留 CodeDeploy 以备将来使用。

使用字符串指定 version

os

本部分指定您部署到的实例的操作系统值。版本是必需的。可以指定以下值:

  • linux — 实例是亚马逊 Linux、Ubuntu 服务器或RHEL实例。

  • windows - 实例是 Windows Server 实例。

使用字符串指定 os

files

此部分指定应在部署的 Install 事件期间复制到实例的文件的名称。

有关更多信息,请参阅 AppSpec “文件” 部分(仅EC2限本地部署)

permissions

此部分指定在将 files 部分中的文件复制到实例时,应如何向这些文件应用特殊权限(如果有)。本节仅适用于亚马逊 Linux、Ubuntu 服务器和红帽企业 Linux (RHEL) 实例。

有关更多信息,请参阅AppSpec “权限” 部分(仅EC2限本地部署)

hooks

此部分指定在部署期间的特定部署生命周期事件处运行的脚本。

有关更多信息,请参阅 AppSpec “挂钩” 部分