現在看來我的答案是我的問題。
aws.push不僅適用於PHP應用程序,也可用於部署Java和PHP應用程序。我已成功使用Apache Ant,並且該設置在我們的UAT環境中正常工作。
我開發一個shell腳本執行以下操作:
- 退房從Subversion版本庫
- 編譯源代碼和創建WAR文件採用Apache Ant
- 爆炸WAR文件到一個Git倉庫(使用亞馬遜 EB工具初始化)
- 分解的文件添加到混帳回購協議並提交更改。
- 使用aws.push將戰爭文件部署到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
這個腳本涉及到陳舊的類文件存在一個已知的問題。爲了擺脫它,你可能需要清理git repo。
這裏是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>
爲什麼不directy部署與'上傳和deploy'彈性魔豆戰爭的文件嗎? – Sorter
那時我需要一個增量部署功能,並且使用aws.push真的很快 – libregeek
@DeepakMishra你有關於如何通過CLI上傳和部署war文件的更多信息?我們正在構建我們的戰爭文件,並希望推動這些文件,而不是從Git推送。 – emilebaizel