`
hzl7652
  • 浏览: 118692 次
  • 性别: 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属性在哪里使用了??
你的例子我运行了,报错,不能运行。

相关推荐

    ant 脚本从svn上取代码打包代码全,同时包括相关的jar包

    在给定的场景中,"ant 脚本从svn上取代码打包代码全,同时包括相关的jar包",这意味着我们需要了解如何用Ant配合Subversion(SVN)进行代码管理,并打包项目,同时处理依赖的jar文件。 首先,让我们来看看Ant脚本的...

    antsvn更新打包部署提交自动化

    标题中的“antsvn更新打包部署提交自动化”涉及的是在软件开发过程中如何利用Ant(一个Java构建工具)和Subversion(SVN,版本控制系统)实现自动化的构建、更新、打包、部署和提交流程。这个过程旨在提高开发效率,...

    ant打包的代码,包括从svn上获取代码

    总之,这个项目利用Ant作为自动化构建工具,结合Subversion进行源代码版本控制,通过一系列配置和脚本实现了从获取源码到打包成可部署格式的完整流程。这对于团队协作和持续集成/持续部署(CI/CD)是非常关键的。

    ant操作SVN的jar包

    将Ant与SVN结合使用,可以实现自动化版本控制操作,提高开发效率。 "ant操作SVN的jar包"指的是在Ant构建过程中集成SVN功能,这通常需要引入特定的jar包,例如`svnant-1.1.0-RC2`。`svnant`是Ant的一个任务库,它...

    Ant+Svn打包Web工程

    7. **使用说明**:`使用说明.txt`文件可能提供了关于如何运行和配置项目的详细信息,包括如何执行构建、部署等操作。 通过上述步骤,我们可以理解如何结合Ant和Svn来管理和构建Web工程。这种方式使得开发者能够有效...

    ant+svn的测试框架

    标题中的“ant+svn”指的是在软件开发过程中使用Apache Ant工具和Subversion(SVN)版本控制系统进行构建和版本管理的组合。Ant是Java平台上的一种开源构建工具,它使用XML来描述构建过程,使得构建脚本易于理解和...

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

    【Ant脚本自动构建SVN增量】是一种高效且节省资源的软件开发实践,它使得开发和测试团队能够自动化处理从代码提交到构建、打包、再到部署的整个过程。使用Ant,一个基于XML的构建工具,可以创建可重复执行的脚本来...

    基于Jmeter+Ant+SVN+Jenkins实现接口自动化测试

    在接口自动化测试中,Ant可以帮助我们编译测试代码、打包测试套件,并将其部署到测试环境中。 2. **Ant应用**: - **编写build.xml文件**:定义构建任务,如编译、测试、打包、部署等。 - **调用JMeter进行测试**...

    CruiseControl + ANT +SVN

    在 CruiseControl 和 ANT 的环境中,SVN 监控源代码仓库,当开发者提交新代码时,CruiseControl 会检测到这些变化,并触发ANT进行构建。 使用 CruiseControl + ANT + SVN 的工作流程通常是这样的: 1. **代码提交*...

    SVNMANAGER SVN 代码管理 LINUX SVN管理

    【SVNMANAGER SVN 代码管理 LINUX SVN...通过上述步骤,你可以在Linux环境中成功部署并使用SVNManager来管理SVN代码库,实现高效且安全的团队协作。记得定期更新SVNManager到最新版本,以获得最新的功能和安全修复。

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

    本文主要介绍如何使用Jenkins自动化地将代码从Subversion(SVN)仓库部署到Apache Tomcat服务器上。这是一个持续集成的过程,能够帮助开发者实现代码的自动下载、编译、打包以及部署,提高工作效率。 1. **Jenkins...

    Ant SVN依赖JAR包

    当使用Ant进行构建时,有时需要直接从SVN获取源码或依赖库,这时就需要配置Ant与SVN的集成,这就涉及到了"Ant SVN依赖JAR包"。 首先,要使Ant能够与SVN交互,我们需要在Ant的类路径中包含Subversion的Java绑定库...

    ant svn插件jar包

    这个插件通常以jar包的形式存在,例如在给定的"antsvn"压缩包中。为了使用这个插件,你需要将jar包添加到Ant的类路径中。这样,你就可以在Ant构建文件中声明新的任务,比如`&lt;svn&gt;`,并配置相关属性来执行SVN命令。 ...

    ant相关-svn-分支

    标题中的“ant相关-svn-分支”提示我们这次要探讨的是使用Apache Ant工具与Subversion(SVN)在软件开发中的协同工作,特别是在处理代码分支的场景。Ant是一款基于Java的任务驱动的构建工具,常用于自动化项目的构建...

    Hudson+Ant+SVN+Tomcat实现快速构建(一)

    标题 "Hudson+Ant+SVN+Tomcat实现快速构建(一)" 涉及的是在软件开发中使用一系列工具进行自动化构建的过程。这个过程是持续集成的一部分,旨在提高开发效率,确保代码质量,并减少错误。以下是这些工具在构建流程...

    自动获取svn代码并且编译发布

    标题和描述中提到的“自动获取svn代码并且编译发布”是一种常见的持续集成(CI)实践,它涉及自动化从版本控制系统获取源代码、构建应用程序、并进行发布的过程。以下是这个流程涉及的关键知识点: 1. **Subversion ...

    Ant+Junit+SVN的安装过程

    Ant通过一个名为build.xml的XML配置文件来定义一系列的任务,这些任务涵盖了从编译源代码、打包、部署到运行测试等多种操作。Ant的灵活性在于,你可以根据项目需求定制自己的构建流程,通过定义不同的目标(target)来...

    一键部署demo+jetty+svn+ant配置

    通过这样的配置,开发人员可以快速地将更新的代码部署到Jetty服务器上,大大提高了工作效率。同时,由于使用了SVN,团队成员可以方便地协同工作,保持代码同步。Ant作为构建工具,确保了构建过程的可重复性和一致性...

    cruisecontrol、ant、svn持续集成

    本文将重点介绍如何使用CruiseControl、Ant、Subversion(SVN)等工具搭建一个持续集成环境的过程。 #### 二、所需工具与环境 - **CruiseControl**: 一种持续集成框架,支持自动化构建、测试和部署。 - **Apache ...

Global site tag (gtag.js) - Google Analytics