使用ANT+SVN在Linux上实现自动部署项目
build.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <project basedir="." default="main" name="Yuxi HDFS">
- <path id="project.classpath">
- <pathelement location="/root/YuxiHDFS/WEB-INF/lib/Hadoop-core-1.0.0.jar"/>
- <pathelement location="/root/YuxiHDFS/WEB-INF/lib/commons-logging-1.1.1.jar"/>
- </path>
- <!--
- <path id="svnant.classpath">
- <pathelement location="/usr/local/ant/lib/svnkit.jar"/>
- <pathelement location="/usr/local/ant/lib/svnant.jar"/>
- <pathelement location="/usr/local/ant/lib/svnjavahl.jar"/>
- <pathelement location="/usr/local/ant/lib/svnClientAdapter.jar"/>
- </path>
- <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="svnant.classpath"/>
- -->
- <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpath="svnant.jar" />
- <svnSetting id="svn.settings" javahl="false" svnkit="true" username="user1" password="passwd" />
- <target name="svn">
- <echo message="checkout source code" />
- <svn refid="svn.settings">
- <checkout url="svn://192.168.11.124/repos/YuxiHDFS" destPath="/root/YuxiHDFS"/>
- </svn>
- </target>
- <target name="compile" depends="svn">
- <mkdir dir="/root/YuxiHDFS/build"/>
- <javac debug="true" debuglevel="source,lines,vars" destdir="/root/YuxiHDFS/build" source="1.6" target="1.6" includeantruntime="on">
- <classpath refid="project.classpath"/>
- <src path="/root/YuxiHDFS/src"/>
- </javac>
- </target>
- <target name="compress" depends="compile">
- <mkdir dir="/root/YuxiHDFS/dist"/>
- <jar jarfile="/root/YuxiHDFS/dist/lib/yuxi_hdfs-1.0.0.jar" basedir="/root/YuxiHDFS/build">
- <include name="com/yuxipacific/**/*.class"/>
- <manifest>
- <attribute name="YuxiHDFS-Version" value="1.0"/>
- </manifest>
- </jar>
- <war destfile="/root/YuxiHDFS/dist/YuxiHDFS.war" webxml="/root/YuxiHDFS/WEB-INF/web.xml">
- <webinf dir="/root/YuxiHDFS/WEB-INF/" includes="applicationContext.xml" />
- <lib dir="/root/YuxiHDFS/WEB-INF/lib"/>
- <lib dir="/root/YuxiHDFS/dist/lib"/>
- </war>
- </target>
- <target name="deploy" depends="compress">
- <echo message="stop tomcat server" />
- <exec executable="/usr/local/tomcat/bin/shutdown.sh" />
- <delete dir="/usr/local/tomcat/webapps/YuxiHDFS"/>
- <copy file="/root/YuxiHDFS/dist/YuxiHDFS.war" todir="/usr/local/tomcat/webapps"/>
- <echo message="start tomcat server" />
- <exec executable="/usr/local/tomcat/bin/startup.sh" />
- </target>
- <target name="main" depends="deploy">
- <delete dir="/root/YuxiHDFS"/>
- </target>
- </project>