弹性 Beanstalk 中 .ebextensions 配置文件未随 git aws.push 部署

3
我已将一个git分支链接到我的Elastic Beanstalk环境,并通过git aws.push正确部署。
我现在添加了一个包含配置脚本的“.extensions”目录,该脚本应该创建一些目录。 但是,似乎什么也没有发生。
我知道“.extensions”目录也应该被复制到ec2实例中,但我没有看到它。
我已经检查了“eb-tools.log”,但上传中没有提到它。
是否还需要其他操作?
脚本内容如下:
commands:
  cache:
    command: mkdir /tmp/cache
  items:
    command: mkdir /tmp/cache/items
  chmod:
    command: chmod -R 644 /tmp

你有检查 Elastic Beanstalk 日志吗?那里应该包含所有已下载的文件以及所有日志的汇总。 - Rakesh Bollampally
4
你是指.ebextensions还是.extensions?你已经执行了git add .ebextensions,接着执行了git commit吗? - Rohit Banga
@RohitBanga 太棒了,谢谢。我添加了一个 .ebextensions 文件夹,但一直被忽略了,让我感到很疯狂。之前使用的是分阶段部署,但现在不再使用了,所以我完全忘记了 eb deploy 只会从最后一个 提交 创建 git 存档的事实。谢谢你。 - JHH
2个回答

5

您可以在/var/log/cfn-init.log中找到此运行日志。 在这里,我可以看到mkdir命令最初已经成功工作,但随后因目录已存在而失败。 事实证明,eb扩展按字母顺序运行命令,所以我不得不将命令更改为:

01command1:
02command2:

从这个点开始,它正常工作了。

还有一件事让我困惑的是,我的本地git repo中的.ebextensions目录没有出现在目标实例目录中。这是因为一旦运行它,它就会删除该目录。


1
请确保您的本地脚本文件具有 .config 扩展名。我曾经遇到过类似的问题,因为我的本地文件被称为 .ebextensions/01_stuff.yaml,一旦我将其重命名为 .ebextensions/01_stuff.config,问题就得到了解决。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接