我很久以前就已经做到了,但是现在不起作用了... :)

我正在尝试在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

07-24 09:39
查看更多