技术开发 频道

ant--项目自动发布

【IT168技术文档】

很久没来了,昔日找工作的一幕幕在眼前渐渐淡去。回首这一年多走过的路,没有太多的惊奇,却也积累了不少有趣的事情,这个找个机会可以整理出一篇趣事集锦。
现在被公司外派,期间经常要上传代码集成测试,而上传的速度简直和蜗牛一样快,好的是管理Source的Server和application的Server是一台,于是我凭着昔日对ant的一点模糊映像和google的大力帮助下,整理出了一套自动发布项目的ant脚本。主要有2个文件:build.xml和build.properties,需要的朋友可以参考一下。
build.xml:

<?xml version="1.0" encoding="UTF-8"?> <project name="Nitto" default="compile"> <property file="build.properties" /> <!-- 指定编译所需的lib --> <path id="all-libs"> <fileset dir="${lib.dir}"> <include name="**/*.jar" /> <include name="${tomcat.dir}/**/*.jar" /> <exclude name="poi*2.5.1*.jar" /> </fileset> </path> <!-- 清除临时文件夹 --> <target name="clean"> <delete dir="${temp.dir}" /> </target> <!-- 编译项目 --> <target name="compile" depends="clean"> <!-- 建立临时文件夹 --> <mkdir dir="${temp.dir}/${tomcat.project}" /> <!-- copy文件 --> <copy todir="${temp.dir}/${tomcat.project}" preservelastmodified="true"> <fileset dir="${basedir}/${cvs.project}/${myProperject.name}"> <include name="**/*.*" /> </fileset> </copy> <!-- 建立编译文件夹 --> <mkdir dir="${class.dir}" /> <!-- 编译JAVA --> <javac destdir="${class.dir}" source="${java.source}" target="${java.target}" encoding="utf-8" debug="${debug}" deprecation="false" fork="true" memoryMaximumSize="512m" optimize="false" failonerror="true"> <src path="${src.dir}"/> <classpath refid="all-libs" /> </javac> <!-- 拷贝properties,xml,vm文件 --> <copy todir="${class.dir}" preservelastmodified="true"> <fileset dir="${src.dir}"> <include name="**/*.properties" /> <include name="**/*.xml" /> <include name="**/*.vm" /> </fileset> </copy> </target> <!-- 拷贝项目到tomcat的webapps中 --> <target name="copyProjectToTomcat" depends="compile,backProject"> <delete dir="${tomcat.webapp.dir}/${tomcat.project}" /> <copy todir="${tomcat.webapp.dir}/${tomcat.project}" preservelastmodified="true"> <fileset dir="${temp.dir}/${tomcat.project}"> <include name="**/*.*" /> </fileset> </copy> <delete dir="${temp.dir}/${tomcat.project}" /> </target> <!-- 备份旧的项目 --> <target name="backProject"> <tstamp/> <delete dir="${tomcat.webapp.dir}/${tomcat.project}_back_${DSTAMP}.zip" /> <zip destfile="${tomcat.webapp.dir}/${tomcat.project}_back_${DSTAMP}.zip" basedir="${tomcat.webapp.dir}/${tomcat.project}"></zip> <delete dir="${tomcat.webapp.dir}/${tomcat.project}" /> </target> <!-- 停止tomcat --> <target name="stopTomcat"> <exec dir="${tomcat.dir}/bin" executable="cmd.exe" os="Windows 2003"> <arg line="/c shutdown.bat" /> </exec> </target> <!-- 启动tomcat --> <target name="startTomcat"> <exec dir="${tomcat.dir}/bin" executable="cmd.exe" os="Windows 2003"> <arg line="/c startup.bat" /> </exec> </target> <target name="publish" depends="checkout,copyProjectToTomcat"> </target> <!-- 生成CVS连接的权限信息 --> <target name="initcvs"> <cvspass cvsroot="${cvsroot}" password="${cvs.password}" passfile="${cvs.passfile}" /> </target> <!-- 从CVS SERVER上取的项目 --> <target name="checkout" depends="initcvs"> <cvs cvsroot="${cvsroot}" command="checkout" package="Nitto" dest="${basedir}" passfile="${cvs.passfile}" /> </target> </project>


0
相关文章