如何使用弹性beanstalk设置多个环境(dev \ stage \ production)

时间:2018-03-04 09:33:55

标签: elastic-beanstalk devops amazon-elastic-beanstalk

大家好我需要做以下事情: 根据已发布的环境更改环境变量。 根据开发人员设置cron作业。 我想只运行一个命令行“eb deploy dev”或类似的东西

由于

2 个答案:

答案 0 :(得分:0)

使用setenv

您可以使用setenv设置环境变量。然后会记住这些环境。

更多详情:https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-setenv.html

实施例

例如,假设您创建了一个名为“暂存”的EB环境。并且您想将变量DB设置为' localhost',您可以使用: eb setenv DB=localhost -e staging

Crons

现在您有了不同的环境变量,您可以在脚本等中检查它们以确定是否应该设置cron。

请注意,crons实际上可能无法访问您的环境变量,因此您需要在设置cron时再次为cron设置这些变量。

答案 1 :(得分:0)

这是我解决问题的方法,设置需要一些时间,但现在我可以使用1个命令行进行所有更改。

使用适用于所有环境的所有文件创建自己的文件夹。 在.ebextensions文件夹中为eb设置空配置文件。 npm运行一个名为“deploy.js”的脚本以及特定env的标志。 该脚本将执行以下操作

  • 根据env
  • 将请求的env数据复制到空文件
  • git存储.ebextensions文件夹的更改(eb使用git部署)
  • eb use env
  • eb deploy

所以现在我可以调试npm run deploy:dev并且所有内容都运行