首页 > 解决方案 > 我应该在 CodeDeploy 的哪里添加 AppSpec.yml 文件

问题描述

我正在使用 codeDeploy 将代码从 Amazon S3 部署到 EC2 实例。我已经配置了配置组和应用程序,但出现此错误 The overall deployment failed because too many individual instances failed deployment, too few healthy instances are available for deployment, or some instances in your deployment group are experiencing problems.

当我检查我看到的日志时

“CodeDeploy 代理未在修订相对路径 \\"appspec.yml\\" 的解压缩修订目录中找到 AppSpec 文件

appspec.yml 文件到底是什么,我应该把它放在哪里?我是 AWS 的新手,因此我们将不胜感激。

标签: aws-code-deploy

解决方案


您需要的所有信息都应该存在:亚马逊文档 Appspec 文件。

文件位置

验证您是否已将 AppSpec 文件放置在应用程序源内容目录结构的根目录中

将应用程序规范文件添加到 CodeDeploy 的修订版

为 AWS Lambda 部署添加 AppSpec 文件 对于 AWS Lambda 计算平台的部署:

AppSpec 文件包含有关要部署和用于部署验证的 Lambda 函数的说明。

修订版与 AppSpec 文件相同。

可以使用 JSON 或 YAML 编写 AppSpec 文件。

AppSpec 文件可以保存为文本文件,也可以在创建部署时直接输入到控制台 AppSpec 编辑器中。有关更多信息,请参阅创建 AWS Lambda 计算平台部署(控制台)。

要创建 AppSpec 文件:

将 JSON 或 YAML 模板复制到文本编辑器或控制台中的 AppSpec 编辑器中。

根据需要修改模板。

使用 JSON 或 YAML 验证器来验证您的 AppSpec 文件。如果您使用 AppSpec 编辑器,则在您选择创建部署时验证文件。

如果您使用文本编辑器,请保存文件。如果您使用 AWS CLI 创建部署,请参考 AppSpec 文件(如果它位于您的硬盘驱动器或 Amazon S3 存储桶中)。如果您使用控制台,则必须将您的 AppSpec 文件推送到 Amazon S3。

为 EC2/本地部署添加 AppSpec 文件

要将 AppSpec 文件添加到修订版:

将模板复制到文本编辑器中。

根据需要修改模板。

使用 YAML 验证器检查 AppSpec 文件的有效性。

将文件另存为 appspec.yml 在修订的根目录中。

运行以下命令之一以验证您已将 AppSpec 文件放在根目录中:

对于 Linux、macOS 或 Unix:

find /path/to/root/directory -name appspec.yml如果在那里找不到 AppSpec 文件,则不会有输出。

对于 Windows:

dir path\to\root\directory\appspec.yml如果 AppSpec 文件未存储在那里,将显示 File Not Found 错误。

将修订推送到 Amazon S3 或 GitHub。


推荐阅读