EB部署到多个环境

时间:2015-05-17 14:01:22

标签: amazon-web-services elastic-beanstalk

我有相同的代码库(一个git存储库),我想上传到多个弹性beanstalk环境。有没有办法做到这一点,如果是这样,我应该如何设置我的存储库,以便我可以推送到多个环境?

环境是网站的不同语言版本,我想在不同的beanstalks中运行。语言由环境参数设置。

4 个答案:

答案 0 :(得分:17)

回答我自己的问题。 AWS EB CLI 3+具有可部署到多个环境的良好界面。如果您向应用程序添加其他环境,则只需使用

进行部署即可
eb deploy <environment-name>

答案 1 :(得分:2)

您可以通过在.elasticbeanstalk / config.yml文件中添加如下所示的配置,使eb cli引用不同分支的不同环境:

branch-defaults:
  master:
    environment: staging
  production:
    environment: production

在此示例中,当您从eb deploy分支运行master时,它将部署到名为“staging”的环境中,而当您从production分支运行它时,它将部署到名为“production”的环境中。

此方法不允许您将一个分支推送到多个环境;为此,请参阅@adnan的回答:https://stackoverflow.com/a/30301576/2800876

答案 2 :(得分:0)

如果指定版本标签,则可以在其他eb deploy命令中使用该版本:

eb deploy my-first-env -l version-1 && eb deploy my-second-env --version version-1

答案 3 :(得分:0)

如果您使用的是git,并且每个环境都有一个分支:

git checkout master
eb use <environment-name>

git checkout staging
eb use <environment-name>

git checkout worker
eb use <environment-name>

那么您就可以

eb deploy

这将部署到当前分支的已定义环境中。

在幕后,这将关联设置为/.elasticbeanstalk/config.yml

尽管如此,您仍然可以从任何分支机构eb deploy <environment-name>