我试图弄清楚如何在单个存储库中设置两个或多个应用程序。
让我们说:我想保留分别用于生产(P)和开发(D)的Eb应用程序,每个应用程序都具有一个环境(P> env-p&D> env-d)。所以我该如何配置主分支指向P> env-p和开发分支指向D> env-d的存储库。
注意:我已经在具有不同应用程序的单个AWS账户中设置了Elastic Beanstalk。我曾尝试搜索,但与此无关。
如果有人这样做,请分享您的观点。
提前感谢。
如果我理解正确,您希望针对两个不同的分支在两个不同的环境中运行应用程序。
您可以使用以下配置文件来实现:.elasticbeanstalk/config.yml
branch-defaults:
master:
environment: master
default_region: ap-southeast-2
default_ec2_keyname: master_key
profile: master_profile
staging:
environment: staging
develop:
environment: develop
global:
application_name: my_application
default_ec2_keyname: develop_key
default_platform: Python 2.7
default_region: ap-southeast-1
profile: develop_profile
sc: git
当您为每个分支执行eb init
时,它将创建此文件,但是我看到它有时需要进行一些手动编辑。
这里是一个类似问题的另一个答案,需要更多讨论。
AWS Elastic Beanstalk deploy to multiple applications
相关文档:
在相同情况下,我的filebeat配置也有类似的问题。
基本上,您需要使用环境变量来区分环境,然后根据所设置的环境变量在container_commands部分中运行不同的命令。
您可以在这里看到我的工作示例:https://www.dativa.com/simplifying-filebeat-logging-with-elastic-beanstalk/