amazon-web-services – 将战争从S3部署到AWS Elastic Beanstalk

我有2台AWS机器,1.dev(ec2)2.prod(弹性豆秆).我在每次提交后构建并部署在dev(machine1)上,这会导致war文件(也将使用s3cmd工具上传到S3存储桶).然后我在dev机器上测试新部署的战争,如果看起来不错,那么我从dev(ec2)下载战争然后将其上传到prod机器(Elastic beanstalk).

有没有办法让弹性豆茎直接从S3桶中取出战争,而不是从ec2下载然后将其上传到弹性豆茎?

我尝试创建新环境,然后为应用程序版本提供了s3存储桶路径,但它无法正常工作. (给出了一些错误,说“这只能在VPC中完成”).

最佳答案
我在this post得到了最好的答案:

使用AWS CLI需要3个简单的步骤:

>上传到S3存储桶:aws s3 cp /var/lib/tomcat7/webapps/ROOT.war s3://elasticbeanstalk-ap-southeast-1-xxxxxx/myROOT.war
>创建应用程序版本:aws elasticbeanstalk create-application-version –application-name your_app_name –version-label your_version_label –source-bundle S3Bucket = elasticbeanstalk-ap-southeast-1-xxxxxx,S3Key = myROOT.war
>更新您的环境:aws elasticbeanstalk update-environment –environment-name your_environment_name –version-label your_version_label

我创建了一个bash script,上述所有步骤只需3秒钟.请仔细阅读链接以获得更具描述性的答案.

转载注明原文:amazon-web-services – 将战争从S3部署到AWS Elastic Beanstalk - 代码日志