使用Amazon AWS Elastic Beanstalk运行具有多个git存储库的平台的最佳方法是什么?

时间:2013-02-01 12:37:41

标签: git amazon-web-services elastic-beanstalk

我有一个用PHP构建的Web应用程序平台,它包含多个存在于不同Git存储库中的应用程序。

据我了解,您只能使用一个Git存储库运行AWS Elastic Beanstalk。

有什么方法可以运行一个从多个Git存储库提供的EB环境?

3 个答案:

答案 0 :(得分:2)

我发现这是不可能的。 AWS只允许一次将一个Git存储库部署到EB环境。

Git子模块可能是问题的答案,但我不同意。

幸运的是,AWS提供了另一个半托管解决方案:AWS OpsWorks。

对于其他任何在上面遇到同样问题的人,那么你一定要尝试一下。

http://aws.amazon.com/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文件,因为您的项目需要它(或运行您可能需要的任何构建过程),然后部署它。