我已将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
你可以在/var/log/cfn-init.log
找到这个的运行日志。在这里,我可以看到mkdir
命令最初工作但随后失败,因为目录已经存在。事实证明,eb扩展按字母顺序运行命令,所以我不得不将命令更改为:
01command1:
02command2:
从这一点开始,它运作良好。
令我困惑的是,我本地git repo中的.ebextensions目录没有出现在目标实例目录中。这是因为一旦运行它将删除目录。
仔细检查您的本地脚本文件是否具有.config
扩展名。我遇到了类似的问题,因为我的本地文件名为.ebextensions/01_stuff.yaml
,一旦我将其重命名为.ebextensions/01_stuff.config
,它就被修复了。