我的团队正在开发一个Java Web应用程序是在亚马逊弹性魔豆部署。 开发环境是Eclipse和颠覆。 他们可以使用Eclipse插件来部署它,但自动化我与亚马逊提供的命令行工具,试验部署。
基本上,我跟着详细步骤亚马逊博客文章版本库转换成一个Git仓库后。 我跟着解释的步骤此SO答案
完成以上步骤后,我发出的命令混帐aws.push,这是成功完成。 但是,在运行应用程序,有错误和。 所以,我从网上下载魔豆环境war文件,发现文件夹结构搞砸和源文件就不会被编译成类文件。 它看起来像源文件上传这样。
我是否需要建立(使用Ant)使用aws.push之前的应用程序? 还是我失去了一些东西?
现在看来,我有我的问题的答案。
aws.push不仅是PHP应用程序,而不是它也可以用于部署Java和PHP应用程序。 我已经成功地使用Apache Ant一起使用,并设置在我们的UAT环境工作正常。
我公司开发的shell脚本执行以下操作:
- 退房从Subversion版本库的源代码
- 建立和采用Apache Ant创建WAR文件
- 爆炸(使用亚马逊EB工具初始化)WAR文件到一个Git仓库
- 分解的文件添加到混帐回购协议并提交更改。
- 使用aws.push部署war文件EB。
(我没有访问shell脚本现在,所以我可能无法提供详细的命令)
这里是Shell脚本的基本形式
source_dir="/home/libregeek/myapp"
workingcopy="$source_dir/trunk"
gitrepo="$source_dir/gitrepo"
cd $workingcopy
svn update
ant createwar
cd $gitrepo
unzip -o $workingcopy/build/myapp.war
git add *
git commit -m "Deployed new version"
git aws.push
没有与此脚本相关陈旧类文件的已知的问题。 为了摆脱它,你可能要清理混帐回购协议。
这里是Ant目标:
<target name="createwar" depends="build" description="Create WAR file for deployment">
<war destfile="${alternate.path}/${name}.war" webxml="${web.dir}/WEB-INF/web.xml">
<fileset dir="${web.dir}">
<include name="**/*.*"/>
</fileset>
</war>
</target>
它你使用Maven和Beanstalker ,混帐aws.push相当于功能可以恢复到一个单一的命令,如果不管你使用Git与否。
$ mvn package beanstalk:fast-deploy
但要确保你的POM准备
我有同样的问题 - 它出现在git的方法仅设计与PHP应用程序的工作。
目前我正在寻找一些其他的基于Java的工具,因为我不使用Eclipse,而AWS控制台是管理发布的笨重的方式(与上传速度很慢)。