ant+svn+tomcat实现自动构建
来源:互联网 发布:人工智能机器人取代 编辑:程序博客网 时间:2024/05/19 03:41
前段时间用做了一个简单的web api服务,在调试的过程中感觉到手动发布实在是效率低而且容易出错,于是花点时间搞了一下ant+svn+tomcat的自动构建,效果不错,今天拿出来分享一下。
- 准备工作
SVN服务器:VisualSVN-Server-2.5.8.msi,这windows下比较好用的一个svn服务端,安装和配置都很简单。
Ant: Ant 1.7(我用的比较老的版本)。
Ant插件:svnant1.3(http://subclipse.tigris.org/svnant.html), ANT集成SVN的插件。
- 步骤
- 首先安装配置好SVN服务器和ANT(具体的过程我就不累赘了)。
- 安装svnant插件,将svnant.1.3.0解压后的lib目录下所有的jar包拷贝至Ant安装目录下的lib文件夹。
- 编写脚本,如下
- <project name="imweb" basedir=".">
- <!--############################################################项目目录 -->
- <!--项目根-->
- <property name="project" value="project" />
- <property name="src" value="${project}/src" />
- <property name="resources" value="${project}/src"/>
- <property name="test" value="${project}/test"></property>
- <property name="target" value="${project}/target"></property>
- <property name="main-target" value="${project}/target/classes"/>
- <property name="test-target" value="${project}/target/test-classes"/>
- <!--web 目录 -->
- <property name="web-root" value="${project}/WebContent"/>
- <!-- ant 属性文件 -->
- <property file="build.properties"/>
- <!--############################################################软件依赖 -->
- <!--ant lib目录-->
- <property name="ant-lib" value="${ant.home}/lib"/>
- <!-- tomcat lib目录 -->
- <property name="tomcat-lib" value="${tomcat.home}/lib"/>
- <!-- 定义classpath-->
- <path id="classpath">
- <fileset dir="${ant-lib}" includes="***.jar"></fileset>
- <fileset dir="${tomcat-lib}" includes="***.jar"></fileset>
- <fileset dir="${web-root}/WEB-INF/lib" includes="***.jar"></fileset>
- </path>
- <!-- 引用svn task文件,使用svn任务可以使用-->
- <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" />
- <!-- 清理-->
- <target name="clean">
- <delete dir="${project}"></delete>
- </target>
- <!-- 初始化-->
- <target name="init" depends="clean">
- <mkdir dir="${project}"/>
- <mkdir dir="${main-target}"/>
- <mkdir dir="${test-target}"/>
- </target>
- <!-- 检出代码 这里使用 export 不是checkout 二者区别 checkout会svn相关信息文件检出,export只是检出最新的文件-->
- <target name="checkout" depends="init">
- <svn username="${svn.username}" password="${svn.password}">
- <export srcUrl="${svn.url}" revision="HEAD" destPath="${project}" force="true" />
- </svn>
- </target>
- <!-- 编译 -->
- <target name="compile" depends="checkout">
- <javac srcdir="${src}" destdir="${main-target}" encoding="UTF-8" includeAntRuntime="false">
- <classpath refid="classpath"></classpath>
- </javac>
- <copy todir="${main-target}">
- <fileset dir="${resources}">
- <exclude name="sql/**"/>
- </fileset>
- </copy>
- </target>
- <!-- 打war包 -->
- <target name="build" depends="compile">
- <war destfile="${target}/${deploy.name}.war" webxml="${web-root}/WEB-INF/web.xml">
- <fileset dir="${web-root}"></fileset>
- <classes dir="${main-target}"></classes>
- </war>
- <delete dir="${main-target}"></delete>
- <delete dir="${test-target}"></delete>
- </target>
- <!--shutdowntomcat -->
- <target name="shutdowntomcat" description="========shutdowntomcat===========">
- <echo message="正在关闭服务器。。。" />
- <exec executable="${tomcat.home}/bin/shutdown.bat" failonerror="false"></exec>
- <echo message="服务器成功关闭" />
- <sleep seconds="10"/>
- <!-- 删除之前解压的war包-->
- <delete dir="${tomcat.home}/webapps/${deploy.name}"></delete>
- </target>
- <!--startuptomcat -->
- <target name="startuptomcat" description="========startuptomcat===========">
- <sleep seconds="5"/>
- <echo message="正在启动服务器。。。" />
- <exec executable="${tomcat.home}/bin/startup.bat" failonerror="false"></exec>
- <echo message="服务器启动成功" />
- </target>
- <!--部署到tomcat下面 -->
- <target name="deploy" depends="build">
- <ant target="shutdowntomcat"/>
- <copy file="${target}/${deploy.name}.war" todir="${tomcat.home}/webapps" />
- <ant target="startuptomcat"/>
- </target>
- </project>
- tomcat.home=D:/apache-tomcat-6.0.35
- ant.home=D:/apache-ant-1.7.1
- svn.url=https://hjt2012.com/svn/java/branches/imweb
- svn.username=svn
- svn.password=123456
- deploy.name=imweb
- 执行脚本
可以编写一个bat批处理文件,这样在执行的时候只需要双击一下就可以完全搞定。
bat文件如下:
- @echo off
- d:
- cd imweb
- ant deploy
- exit
0 0
- ant+svn+tomcat实现自动构建
- ant+svn+tomcat实现自动构建
- ant+svn+tomcat实现自动构建
- ant+svn+tomcat实现自动构建
- ant+svn+tomcat实现javaweb项目的自动构建
- 在linux环境下tomcat+jenkins+ant+svn自动构建Android
- jenkins svn tomcat ant自动部署
- jenkins svn tomcat ant自动部署
- jenkins svn tomcat ant自动部署
- jenkins + maven +svn+ tomcat 自动构建部署
- jenkins+tomcat +ant +svn 搭建持续构建环境
- svn+ant实现nightly build自动发布
- svn+ant实现nightly build自动发布
- Ant自动构建脚本!
- ant自动构建
- Flex Ant自动构建
- Flex Ant自动构建
- Flex Ant自动构建
- LinearLayout中orientation设置为水平时的gravity问题
- 未来手机的入口是什么?
- php 拓展介绍
- 摄像头介绍
- 畅通工程再续
- ant+svn+tomcat实现自动构建
- 图片上传至tomcat服务器
- ssh 连接慢
- linux中启动和停止MySQL服务
- guava 学习笔记(二) 瓜娃(guava)的API快速熟悉使用
- JAVA之IO技术相关Properties类 存储配置文件信息
- IOS文字下划线(转)
- Fragment的可见再加载的方法(真正的Fragment的OnResume和OnPause)
- 三款JSON类库Jackson,Gson与JSON-lib的性能对比