aws-code-deploy - 我应该在 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 的新手,因此我们将不胜感激。
解决方案
您需要的所有信息都应该存在:亚马逊文档 Appspec 文件。
文件位置
验证您是否已将 AppSpec 文件放置在应用程序源内容目录结构的根目录中
为 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。
推荐阅读
- azure - azure function 和 azure static web app 之间的区别?这个怎么运作?
- python - 使用 ctypes 将 cupy 指针传递给 CUDA 内核
- gitlab - GitLab 多项目 CI 设置
- android - Kotlin 委托属性导致 Android Studio 中出现预览渲染错误
- javascript - 反应登录和注册表单蚂蚁设计onFinish未触发
- php - Symfony 4 + Postgresql:服务器仍然尝试连接到“localhost”数据库,即使我更改了学说.yaml 和 .env 中的值
- google-sheets - 计算谷歌电子表格中项目总和的公式
- excel - 在 Excel 中设置单元格中的字符数并导出为 csv,然后导出为带有分隔符的 txt
- kubernetes - 无法解析主机:尝试连接到 Kubernetes 服务时
- c# - 加载 UWP 应用程序时未显示地图