我有相同的代码库(一个git存储库),我想上传到多个弹性beanstalk环境。有没有办法做到这一点,如果是这样,我应该如何设置我的存储库,以便我可以推送到多个环境?
环境是网站的不同语言版本,我想在不同的beanstalks中运行。语言由环境参数设置。
答案 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>
。