【发布时间】:2016-05-29 12:14:21
【问题描述】:
我一直在研究在 AWS 上使用 Elastic Beanstalk 创建 EC2 实例时运行命令的各种方法。通过 AWS 技术支持,我获得了不同的方法来执行此操作,包括生命周期挂钩、自定义 AMI 和 .ebextensions。我在让前两种方法(生命周期挂钩和自定义 AMI)与 EB 一起使用时遇到问题。
我目前正在使用 .ebextensions 在部署时运行命令,但不确定是否有办法仅在创建时运行一组命令,而不是在每次部署代码时运行。例如,我有一个文件.ebextensions/03-commands.config,其中包含以下代码:
container_commands:
01_npm_install:
command: "npm install -g -f npm@latest"
但是,我只希望在创建实例时运行此代码,而不是像当前那样在每次部署时运行。有谁知道实现这一点的方法吗?
提前致谢!
【问题讨论】:
-
可以添加更多细节你想实现什么?
-
@VadymFedorov 我进行了一些修改以包含更多信息。这有帮助吗?
-
我发现使用 AWS 技术支持建议的方法 1 和 2 都取得了巨大的成功。生命周期钩子非常适合一次性命令执行(即像你想要的那样创建实例),所以我建议对它进行更多研究。自定义 AMI 非常适合更高级的配置需求(即安装大量自定义软件、更新软件、设置环境等)。再试一次,如果您仍然遇到困难,请回来!
标签: linux amazon-web-services amazon-ec2 amazon-elastic-beanstalk