amazon-web-services - Codedeploy 上关于 appspec 的开启和关闭错误
问题描述
我在 CodePipeline + CodeDeploy 中遇到了一个奇怪的问题,我们检查了所有的 aws 论坛和 stackoverflow,但没有人遇到过这个问题,并且已经考虑了关闭问题的建议,但没有任何帮助。
特别是以下问题:我们有一个 CodePipeline:碰巧“随机”我们收到错误:(x)需要一个 AppSpec 文件,但在修订版中找不到
但是需要的文件在Revision里面,我们查了几十遍,里面的文件和后面的时间一样,名字和格式都一样,没有问题。这发生在具有相同配置的同一个部署组中,因此不是配置不当的组,因为大多数时候都可以正常工作。
只是为了确保我在修订中添加了 .yml 和 .yaml 版本。appspec 就这么简单:
version: 0.0
Resources:
- TargetService:
Type: AWS::ECS::Service
Properties:
TaskDefinition: "arn:aws:ecs:us-east-1:xxxxxxxx:task-definition/my_app_cd:258"
LoadBalancerInfo:
ContainerName: "nginx_main"
ContainerPort: 80
PlatformVersion: null
解决方案
我怀疑上述错误与您的代码管道的错误配置有关。要执行 ECS codedeploy 部署,您的 codepipeline 阶段部署的提供者必须是“ECS(蓝色/绿色)”而不是“Codedeploy”(codedeploy 用于 EC2 部署。
即使在后端使用 codedeploy,提供程序的名称也是“ECS(蓝/绿)”。
管道配置可以检查为:
$ aws codepipeline get-pipeline --name <pipeline_name>
{
"name": "Deploy",
"blockers": null,
"actions": [
{
"name": "Deploy",
"actionTypeId": {
"category": "Deploy",
"owner": "AWS",
"provider": "CodeDeploy", <===== should be "CodeDeployToECS"
"version": "1"
},
推荐阅读
- html - 响应式顶部导航栏向上移动错误
- r - 标记ggplot图形类别
- sapui5 - 使用 JSON 模型的 XML 视图中元素绑定的正确语法
- javascript - 如何更改 HTML 文档中 Javascript 元素的文本颜色
- javascript - 默认情况下将标题附加到访问 url
- python - 使用 Numpy 求解涉及模运算的线性方程组
- android - 如何让 RecyclerView 在 onCreate 中滚动到最后一个位置?
- angularjs - AngularJS Typescript服务注入错误
- javascript - 如何在使用 JS 保持文本文件格式的同时将文本文件转换为 CSV 文件?
- java - 为什么没有 java.lang.Class 的子类?