`
hzl7652
  • 浏览: 117831 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

用ant实现SVN代码更新,部署

ant 
阅读更多

要实现ant可以从svn服务器上检出代码要使用svnant jar文件。

从网上下载svnant 包,下载地址:

http://subclipse.tigris.org/files/documents/906/49042/svnant-1.3.1.zip

将下载好的svnant 解压将 lib目录下的所有jar复制到ant主目录中的 lib目录下。

编写build.xml

要svn task任务可以使用要在build.xml中添加

<typedef resource="org/tigris/subversion/svnant/svnantlib.xml" />

 完整的xml文件如下:

<project name="dt" basedir=".">
    <!--定义属性-->
	<property name="src" value="src/main/java" />
	<property name="resources" value="src/main/resources"/>
	<property name="test" value="test"></property>
	<property name="target" value="target"></property>
	<property name="main-target" value="target/classes"/>
	<property name="test-target" value="target/test-classes"/>
	<property name="lib-dir" value="WebContent/WEB-INF/lib"/>
	<property name="tomcat.home" value="D:/webapp-server/apache-tomcat-6.0.20"/>
	<!--ant lib目录>
	<property name="ant-lib-dir" value="D:/apache-ant-1.8.2/lib"/>
	<!-- 需指向本地tomcat lib目录 -->
	<property name="tomcat-lib" value="D:/webapp-server/apache-tomcat-6.0.20/lib"/>
	<!-- svn路径 -->
	<property name="urlRepos" value="svn://192.168.1.1o/Project/dt" />
	<!-- 定义classpath-->
	<path id="classpath">
		<fileset dir="${lib-dir}" includes="***.jar"></fileset>
		<fileset dir="${tomcat-lib}" includes="***.jar"></fileset>
	</path>
	<!-- 引用svn task文件,使用svn任务可以使用-->
	<typedef resource="org/tigris/subversion/svnant/svnantlib.xml" />
	<!-- 清理-->
	<target name="clean">
		<delete dir="${target}"></delete>
	</target>
	<!-- 初始化-->
	<target name="init" depends="clean">
		
		<mkdir dir="${main-target}"/>
		<mkdir dir="${test-target}"/>
	</target>
	<!-- 设置svn相关属性 -->
	<svnSetting id="svn.setting" svnkit="true" username="hzl" password="111111"  javahl="false" />
	<!-- 检出代码 这里使用 export 不是checkout 二者区别 checkout会svn相关信息文件检出,export只是检出最新的文件-->
	<target name="checkout" depends="clean">
		<svn refid="svn.setting">
			<export srcUrl="${urlRepos}" destPath="." 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}/dt.war" webxml="WebContent/WEB-INF/web.xml">
			<fileset dir="WebContent"></fileset>
			<classes dir="${main-target}"></classes>
		</war>
		<delete dir="${main-target}"></delete>
		<delete dir="${test-target}"></delete>
	</target>
	
    <!--shutdowntomcat-->
    <target name="shutdowntomcat" description="========shutdowntomcat===========">
        <exec executable="${tomcat.home}/bin/shutdown.sh" failonerror="false"></exec>
        <sleep seconds="10"/>
    </target>
    
    <!--startuptomcat-->
    <target name="startuptomcat" description="========startuptomcat===========">
        <sleep seconds="5"/>
        <exec executable="${tomcat.home}/bin/startup.sh" failonerror="false"></exec>
    </target>

    <!--部署到tomcat下面-->
    <target name="deploy" depends="war">
        <copy file="${target}/dt.war" todir="${tomcat.home}/webapps" />
    </target>	
</project>
 
分享到:
评论
3 楼 ybhuxiao 2014-10-13  
yy_wyf123 写道
export doesn't support the url attribute
不能使用export,只能使用checkout!你的代码有误

export是可以的,我试过了,不知道你是不是老版本。
2 楼 yy_wyf123 2013-11-29  
export doesn't support the url attribute
不能使用export,只能使用checkout!你的代码有误
1 楼 weinan2087 2013-08-06  
你声明的ant-lib-dir属性在哪里使用了??
你的例子我运行了,报错,不能运行。

相关推荐

    使用jenkins直接将svn代码部署到tomcat

    通过jenkins和ant以及svn进行整合,可以完成对系统的源代码的自动下载更新,以及代码的自动编译打包和项目的自动部署(项目的自动构建部署)

    利用ant脚本 自动构建svn增量.docx

    标签: antsvn自动化测试发布  分类: ant 不会用ant打包、部署项目的工程师,不是一个好程序员(测试) 副标题:利用ant脚本 自动构建svn增量/全量 系统程序升级包 首先请允许我这样说,作为开发或测试,你一定要...

    基于jenkins整合ant和svn的持续集成环境

    通过jenkins和ant以及svn进行整合,可以完成对系统的源代码的自动下载更新,以及代码的自动编译打包和项目的自动部署(项目的自动构建部署)。而且项目的自动构建部署和平台无关,不限定时间,可以定时操作,将开发...

    基于Jenkins的自动化部署

    Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能,通过Jenkins和Ant以及SVN整合,可以比较容易的实现通过SVN获取源代码更新,然后应用Ant自动编译打包,然后部署到相应的...

    windows2003中SVN服务器异机同步、自动部署Java项目全流程

    windows2003中SVN服务器异机同步、自动部署Java项目全流程. 由VisualSVN Server自动更新本地代码、编译代码、部署代码、重启Tomcat。

    web程序自动部署

    原理:从svn down代码、ant编译、打包项目、上传zip包、代码同步、解压、重启web容器 由于开发的比较着急,代码写的有点乱、忘谅解,仅供参考。 代码分为两部分(写在了同一个项目中),①功能部分②调用服务器端...

    新浪sea云java开发包及工具集成,包括sae-1.1.0-all,svn6个jar包,sae-eclipse

    实现便捷的在本地 eclipse 上开发,在 sae 云服务器上部署和调试,实现在 eclipse 上编译 java web 项目的时候自动生成 war 包,然后再自动通过 svn 上传部署到新浪 sae 云平台的流程,1. 下载 Eclipse 4.2 or 4.3 ...

    软件协同开发服务器端自动部署配置.doc

    通过 SVN、ANT、TOMCAT、HUNSON 实现Java项目的版本控制及项目自动部署。客户端要做的只需要安装SVN提交代码即可。

    Jenkins持续集成引擎.rar

    常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。 CI/CD是什么? CI(Continuous integration,中文意思是持续集成)是一种软件开发时间。持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元...

    iuhyiuhkjh908u0980

    代码可以从这里得到 svn co https://svn.apache.org/repos/asf/ant/ivy/core/trunk ivy 2.确保你的机子上已经安装了ant (version 1.6.5 or 以上)与jd ... by happylove311 2008-10-12 回复 (3) ejb中用ant出错 ...

    jenkins持续集成环境搭建步骤

    jenkins可以很好的支持各种语言(比如:java, c#, php等)的项目构建,也完全兼容ant、maven、gradle等多种第三方构建工具,同时跟svn、git能无缝集成,也支持直接与知名源代码托管网站,比如github、bitbucket直接...

    java编程.数据库.j2ee架构与模式等电子书整合(2)

    3.apache-ant 4.apache-tomcat 5.数据库 6.web技术 7.java编程 8.基础知识 9.网络技术 10.apache-struts 11.j2ee架构与模式 12.Log4j 13.Eclipse 14.Svn 15.Xml 16.Tapestry 17.Junit 18.Ejb 19.Spring 20.Unix 21....

    java编程.数据库.j2ee架构与模式等电子书整合(1)

    3.apache-ant 4.apache-tomcat 5.数据库 6.web技术 7.java编程 8.基础知识 9.网络技术 10.apache-struts 11.j2ee架构与模式 12.Log4j 13.Eclipse 14.Svn 15.Xml 16.Tapestry 17.Junit 18.Ejb 19.Spring 20.Unix 21....

    Jenkins使用及插件开发介绍

    介绍Jenkins是一个广泛用于[持续构建]()的可视化web工具,就是各种项目的的“自动化”编译、打包、分发部署,将以前编译、打包、上传、部署到Tomcat中的过程交由Jenkins,Jenkins通过给定的代码地址,将代码拉取到...

    网站架构技术

    jboss cache为代表的需要更新同步的分布式级缓存 以memcached为代表的不互相通信的分布式缓存 异步操作 使用集群 代码优化 多线程 资源复用 单例 对象池 数据结构 垃圾回收 存储...

    基于JavaEE的快速开发框架

    提供类级别的热更新,但仅建议在需要快速修正严重BUG、并且无法立即进行全更新时使用。 提供全冗余方式的缓存,自动在每个节点间同步缓存数据,而每个节点都仅从本地内存中获取缓存数据,从而提供高效的执行效率,...

Global site tag (gtag.js) - Google Analytics