通过命令行上传Java Elastic Beanstalk应用程序

时间:2014-02-09 22:12:44

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

是否可以通过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应用程序?

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

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

1 个答案:

答案 0 :(得分:1)

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

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

它选择,构建一个.s3文件,并可选择将UpdateEnvironment调用到这个新版本标签。

RE aws.push:

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