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.config和03_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
您需要了解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)
| 归档时间: |
|
| 查看次数: |
15315 次 |
| 最近记录: |