【问题标题】:Upload Java Elastic Beanstalk app through the command line通过命令行上传 Java Elastic Beanstalk 应用程序
【发布时间】:2014-03-07 02:36:14
【问题描述】:

是否可以通过 EB 的命令行工具上传 Java Elastic Beanstalk 应用程序?

我知道我可以通过 Web 控制台(上传 WAR 文件)或使用 AWS's instructions for Eclipse 将我的应用程序上传到 EB。但是,我还想看看是否可以使用AWS DevTools 将我的应用程序的更新上传到 EB。我已经使用 eb 命令行工具为我的应用程序创建和配置了我的 git 存储库,因此我可以使用 git aws.push 命令。但是,无论我尝试什么(推送我的整个工作区,推送仅包含 war 文件的 repo,推送包含 this blog post 中描述的分解后的 war 文件内容的 repo),它都无法正常工作。一个 .zip 文件上传到 Beanstalk,我的应用程序变得不健康。

我开始怀疑git aws.push 是否仅适用于 PHP 应用程序而不适用于 Java,因为 PHP 是 AWS 的 DevTools 文档中提到的唯一语言。有人知道git aws.push 是否可用于 Java 应用程序吗?

顺便说一句,我应该提到我的 .war 文件是使用 mvn clean install 创建的,因为我的应用程序使用基于 Maven 的工作区。我知道 Maven Beanstalker Plugin 可以用来将应用程序上传到 Beanstalk,但我仍然想看看 git aws.push 是否对我可用。

相关 SOF 帖子: Deploying Java web application to Amazon Elastic Beanstalk

【问题讨论】:

    标签: java amazon-web-services web-deployment amazon-elastic-beanstalk


    【解决方案1】:

    AWS Elastic Beanstalk 期望包含源文件(使用脚本语言时)或二进制内容(.NET 和 Java)作为可用版本的 Zip 文件(和 war 文件是 zip 文件)

    Beanstalker 通过fast-deploy 利用这一点,它获取war 文件内容(来自target/${build.finalName}),复制到临时目录(tmp-git-staging),然后调用AWS EB Endpoints .即使 AWS 本身没有记录接口,它也非常可靠。

    它会拾取、构建一个 .s3 文件并选择性地调用一个 UpdateEnvironment 到这个新版本标签。

    RE aws.push:

    aws.push 为 git 创建一个经过身份验证的 AWS EB 端点的 URL,然后调用 git push。使用的代码类似于this one

    【讨论】:

      猜你喜欢
      • 2012-06-26
      • 2012-10-10
      • 2018-07-19
      • 2019-08-28
      • 2017-08-01
      • 2019-06-18
      • 2019-01-18
      • 2015-06-12
      • 2023-03-25
      相关资源
      最近更新 更多