我很久以前就已经做到了,但是现在不起作用了... :)
我正在尝试在ElasticBeanstalk应用程序中使用EBExtensions。我创建了一个普通的Elastic Beanstalk环境,没有默认配置以外的任何配置。我给它提供了一个具有如下目录结构的应用程序版本:
.ebextensions
40testextension.config
app.js
other files
重要的是,我在可部署工件的根目录下有一个名为.ebextensions的文件夹,我认为应该在该文件夹中。
该文件内的40testextension.config文件具有以下内容:
files:
"/home/ec2-user/myfile" :
mode: "000755"
owner: root
group: root
content: |
# This is my file
# with content
我在创建环境时上传了该版本,并且环境创建成功。但是当我寻找那个文件时,它不存在。此外,当在/ var / log的日志中对该ebextension文件名进行递归grep时,我只会得到一个结果:
./eb-activity.log: inflating: /tmp/deployment/application/.ebextensions/40testextension.config
查看日志后,似乎在工件被下拉到主机时文件存在,但是ebextension从不提供任何运行指示。
我在这里想念什么?我在遥远的过去就已经做到了这一点,并且一切都做得很好,但是这次我似乎无法让Beanstalk部署生命周期执行该事情。
最佳答案
尝试使用-x Print commands and their arguments as they are executed
运行它进行调试,然后尝试将模式更改为000777
。
files:
"/home/ec2-user/myfile" :
mode: "000777"
owner: root
group: root
content: |
#!/usr/bin/env bash
set -xe