我有一个用PHP构建的Web应用程序平台,它包含多个存在于不同Git存储库中的应用程序。
据我了解,您只能使用一个Git存储库运行AWS Elastic Beanstalk。
有什么方法可以运行一个从多个Git存储库提供的EB环境?
答案 0 :(得分:2)
我发现这是不可能的。 AWS只允许一次将一个Git存储库部署到EB环境。
Git子模块可能是问题的答案,但我不同意。
幸运的是,AWS提供了另一个半托管解决方案:AWS OpsWorks。
对于其他任何在上面遇到同样问题的人,那么你一定要尝试一下。
答案 1 :(得分:2)
嗯,Elastic beanstalk提供了在配置文件的帮助下自定义环境的能力。详情请见http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers.html。
如果您需要从不同的github存储库中提取应用程序,可以按以下方式执行:使用引导脚本创建配置文件,从github存储库中提取应用程序,而不是通过git aws.push发布。
你知道如何工作git aws.push?此命令将源推送到带有源的create zip文件的aws服务,然后将其放在s3存储桶上。然后调用环境更新并提供指向s3存储桶的链接。
也可以在本地拉你的项目。然后在.ebextenctions中创建包含源和脚本的zip包,它将部署您的应用程序。
答案 2 :(得分:1)
老问题,但我正在回复谷歌上有人磕磕绊绊,就像我一样。
我发现解决此问题的一种方法是自行构建要上传到AWS Eleastic Beanstalk的.zip包,并配置EB CLI以使用它。以下是相关的文档:
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-configuration.html#eb-cli3-artifact
您可以使用一个简单的脚本来运行git archive,将所有这些组合成一个.zip文件,因为您的项目需要它(或运行您可能需要的任何构建过程),然后部署它。