【问题标题】:Deploy war from S3 to AWS Elastic Beanstalk将战争从 S3 部署到 AWS Elastic Beanstalk
【发布时间】:2014-10-30 06:36:58
【问题描述】:

我有 2 台 AWS 机器,1.dev (ec2) 2. prod (elastic beanstalk)。每次提交后,我都会在 dev (machine1) 上构建和部署,这会生成一个 war 文件(也将使用 s3cmd 工具将其上传到 S3 存储桶上)。然后我在开发机器上测试新部署的战争,如果看起来不错,然后我从 dev(ec2) 下载战争,然后将其上传到生产机器(弹性豆茎)。

有没有办法让elastic beanstalk直接从s3 bucket中取war,而不是从ec2下载然后上传到elastic beanstalk?

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

【问题讨论】:

    标签: amazon-web-services amazon-ec2 amazon-s3 amazon-elastic-beanstalk


    【解决方案1】:

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

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

    1. 上传到 S3 存储桶:aws s3 cp /var/lib/tomcat7/webapps/ROOT.war s3://elasticbeanstalk-ap-southeast-1-xxxxxx /myROOT.war
    2. 创建应用程序版本: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
    3. 更新您的环境:aws elasticbeanstalk update-environment --environment-name your_environment_name --version-label your_version_label

    我创建了一个bash script,完成上述所有步骤仅需 3 秒。请通过链接获取更多描述性答案。

    【解决方案2】:

    如果您的 s3 war 文件位于 mybucket/test/myapp.war 中,那么创建一个 s3 存储桶为 mybuckettest/myapp.war 的应用程序版本是这样做的方法。不确定您为什么会收到与 VPC 相关的错误。您何时何地看到该错误?当您创建应用程序版本或创建环境时? API 调用是否立即抛出错误消息,您在稍后的事件中看到了吗?

    【讨论】:

    • 谢谢,但我要部署的战争路径是https://s3-us-west-2.amazonaws.com/mybucket/ROOT.war,但是当我将其作为 S3-URL 输入时,它不接受它,我也尝试使用 https://s3.amazonaws.com/mybucket/ROOT.warhttps://mybucket.s3.amazonaws.com/ROOT.war 但没有运气。我做错了什么?
    • 那很好......在S3Bucket上面的s3 url中是“mybucket”,对象键是“ROOT.war”。如果您在 us-west-2 中启动弹性 beanstalk 环境,请确保在区域“us-west-2”中也创建了“mybucket”。
    • thnx,我能够部署它,但最后一件事,我如何部署 ROOT.war 的下一个版本?上述步骤是第一次完成,如何部署下一个版本?
    • 使用 s3 存储桶和 s3 对象键创建一个新的应用程序版本 v2。然后使用版本标签 v2 运行调用 UpdateEnvironment API。这会将您的环境更新为文件的最新版本。您可以使用 DescribeEnvironment 和 DescribeEvents API 查看更新状态。在这里阅读更多:docs.aws.amazon.com/elasticbeanstalk/latest/APIReference/…
    • 您还可以使用 Web 控制台、CLI 等替代工具,具体取决于您认为方便的方式。
    猜你喜欢
    • 2017-04-12
    • 2017-12-27
    • 2015-09-07
    • 2014-05-06
    • 1970-01-01
    • 2017-02-24
    • 2020-03-24
    • 2020-07-03
    • 2015-11-12
    相关资源
    最近更新 更多