在aws弹性beanstalk中创建.ebextensions文件夹

AWS*_*ner 11 shell amazon-web-services amazon-elastic-beanstalk

我试图在aws弹性beanstalk上自动扩展触发器时部署一个shellcript脚本来安装程序.

我在google上搜索过,这一切都指向.ebextensions的创建,以便在启动时使用配置文件来安装程序.我知道如何创建它?

非常感谢您的帮助

小智 14

您需要执行以下操作(显然符合您的要求):

在打包软件的根目录中,创建一个名为.ebextensions的文件夹

drwxr-xr-x 4 root root     4096 Sep 30 13:39 .
dr-xr-x--- 7 root root     4096 Nov  4 15:22 ..
drwxr-xr-x 2 root root     4096 Nov  4 15:22 .ebextensions
Run Code Online (Sandbox Code Playgroud)

在.ebextensions文件夹中,创建两个名为02_files.config03_container_commands.config的文件.

-rw-r--r-- 1 root root 11334 Jul 25 12:26 02_files.config
-rw-r--r-- 1 root root   960 Nov  4 11:22 03_container_commands.config
Run Code Online (Sandbox Code Playgroud)

内容02_files.config应该包含你的shell脚本的内容:

files:

  "/path/to/your/shellscript/myscript.sh" :
    mode: "000755"
    owner: root
    group: root
    content: |
      #!/bin/sh
      echo "Hello World!" >> /var/log/myscript.out
Run Code Online (Sandbox Code Playgroud)

03_container_commands.config的内容应包含运行shell脚本的命令:

container_commands:

  01_runmyshellscript:
    command: "/path/to/your/shellscript/myscript.sh"
Run Code Online (Sandbox Code Playgroud)

现在,当您上传代码时,它将在/path/to/your/shellscript/myscript.sh中创建您的shell脚本,然后执行它发送Hello World!/var/log/myscript.out


Tal*_*Tal 6

您需要了解Elastic Beanstalk并不神奇.它只是启动EC2服务器并按特定顺序在它们上运行一堆shell脚本.一旦你意识到这一点,你可以要求Elastic Beanstalk在启动服务器时执行你的脚本.如何让EB执行你的东西全部文档在这里.
在您的情况下,您需要让EB执行一个container_commands基本上是您的应用程序设置运行的脚本.
首先,将趋势微脚本添加到应用程序源中,以便在运行时找到它.让我们假设它在scripts/trendmicro.sh 那时,要求EB执行脚本就像向应用程序源添加文件一样简单.

您可以添加/.ebextensions/container_commands.config使用以下命名的文件:

container_commands:

  trent_micro_startup:
    command: "scripts/trendmicro.sh"
Run Code Online (Sandbox Code Playgroud)