`
shangjunhong
  • 浏览: 14182 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

利用ant 自动更新svn+打包+上传

阅读更多
一:工具
    1、apache-ant-1.8.2-bin.zip
   2、svnant-1.2.1.zip(下载的时候要注意与jdk的版本对应,我就在这个地方郁闷了半天)
   3、commons-net-2.2-bin.zip
   4、ServUSetup.zip(ftp服务器)
二:步骤
   1、解压apache-ant-1.8.2-bin.zip,配置相应的环境变量ANT_HOME,path
   2、把svnant-1.2.1\lib下的jar以及commons-net-2.2下的jar放到 ANT_HOME\lib 下
   3、安装ftp服务器,执行ServUSetup.exe(设置好用户的id和密码,build文件用到)
三:build 文件代码


      <?xml version="1.0" encoding="UTF-8"?> 
    <project name="ant-smu" default="sendSmuToFTP" basedir="../"> 
        <!-- 这里的basedir是工程的目录为根目录 
            一般basedir="."表示的是build.xml文件所在的相对目录为根目录即src  
        --> 
        <property name="src" value="src"/> 
<!-- 编译目录--> 
        <property name="dest" value="/${basedir}/WebRoot/WEB-INF/classes"/>
    <property name="svnurl" value="svn://192.168.0.12/nvs/java/smu"/>
    <property name="svnusername" value="user1"/>
    <property name="svnuserpw" value="user1_p"/>
        <property name="ftpserverip" value="192.168.0.155"/>
        <property name="ftpuserid" value="admin"/>
        <property name="ftpuserpw" value="123"/>
   
        <!-- 定义发布目录--> 
        <property name="webApp" value="D:\nvr2000\nvr2000\tomcat\webapps\"/>

        <taskdef resource="svntask.properties">
<!-- 我这里是把svnant-1.2.1\lib下的三个jar放到工程lib下了,无论放到哪里,定义好path就可以--> 
         <classpath>
      <pathelement location="${basedir}/WebRoot/WEB-INF/lib/svnjavahl.jar" />
      <pathelement location="${basedir}/WebRoot/WEB-INF/lib/svnant.jar" />
      <pathelement location="${basedir}/WebRoot/WEB-INF/lib/svnClientAdapter.jar" />
         </classpath>
        </taskdef> 
    <target name="clean">
       <delete dir="${webApp}smu.war"/>
<echo message="delete ${webApp}smu.war..." /> 
    </target>
    <target name="checkoutThis" depends="clean">
      <svn username="${svnusername}" password="${svnuserpw}">
       <checkout url="${svnurl}" revision="HEAD" destPath="${basedir}"/>
      </svn>
    </target>
       <echo message="init ..." /> 
       <target name="init" depends="checkoutThis">     
           <mkdir dir="${dest}"/>  
          
       </target>  
       <!-- 编译class文件--> 
       <target name="compile" depends="init"> 
    <!--<javac srcdir="${src}" destdir="/${basedir}/WebRoot/WEB-INF/classes"></javac>  -->
       </target>
<!-- 打包-->  
    <target name="war" depends="compile">
      <war destfile="${webApp}smu.war" webxml="${basedir}/WebRoot/WEB-INF/web.xml">
       <fileset dir="${basedir}/WebRoot">
            <include name="**/*.*"/>
        </fileset>
      </war>
    </target>
<!-- 上传,ftp上传有两种方式主动PORT,被动PASV,网上说内网用被动模式需要一些对ftp服务器的设置,按网上说的做应该可以,我没有做--> 

        <target name="sendSmuToFTP" depends="war">
        <ftp server="${ftpserverip}" port="21" userid="${ftpuserid}" password="${ftpuserpw}"  depends="no" verbose="yes">
         <fileset dir="${webApp}">
                <include name="*.war"/>
            </fileset>
        </ftp>
    </target>     
   </project>

      
分享到:
评论
1 楼 yhq1212 2011-12-01  
这个没测试通过,能不能给个DEMO啊?

相关推荐

    (总结完整版)Ant从SVNCVS下载编译打包部署到本地远程服务器(FTP上传).pdf

    本文档总结了如何利用Ant与版本控制系统(如SVN、CVS)集成,实现代码的自动下载,再通过FTP上传至远程服务器并启动应用的过程。 首先,我们需要确保具备相应的环境,如JDK1.7、TOMCAT6.0和ANT1.8.2,以及SVN、CVS...

    (总结版) Ant 从SVNCVS下载 编译打包部署到本地远程服务器 (FTP上传).docx

    在这个文档中,作者详细介绍了如何利用Ant与版本控制系统(如SVN或CVS)集成,以及如何将构建的软件包部署到本地或远程服务器上。 **1. Ant的安装与配置** 首先,需要安装Ant并配置环境变量`ANT_HOME`和`PATH`。...

    Jenkins:Jenkins + gradle + svn + windows自动化编译,上传svn; apk注入svn源码路径,版本号,jenkins build号

    在构建现代化的持续集成(CI)和持续部署(CD)流程...综上所述,这个配置利用了Jenkins、Gradle、SVN和Windows的强大力量,构建了一个高效的自动化Android应用构建、测试和部署流程,极大地提高了开发效率和软件质量。

    Ant安装编译操作手册

    ### Ant安装编译操作手册知识点解析 #### 一、引言 - **编写目的**: 本文档旨在指导软件...通过上述步骤,我们可以有效地利用Ant自动化工具来简化Flex/Java项目的编译、打包及发布流程,提高开发效率,减少人为错误。

    apache-ant-1.7.1-manual

    这个用户手册详细介绍了如何有效地利用Ant进行项目管理。 在Ant 1.7.1版本中,引入了许多新特性与改进,以增强其功能和性能。以下是一些关键知识点: 1. **XML结构**:Ant的构建文件以XML编写,每个构建文件包含一...

    maven 一键打包

    本文将深入探讨如何利用Maven进行一键打包,以及与之相关的服务器配置和svn版本控制。 ### Maven 的核心功能 Maven 是一个基于项目对象模型(Project Object Model,POM)的概念,通过POM文件来管理和构建项目。它...

    服务器 使用脚本打包编译java项目

    5. **发布流程**:`getrelease.sh`可能包含了发布新版本的所有步骤,如打包、签名、上传到服务器以及更新版本信息等。 具体操作步骤大致如下: 1. **代码获取**:通过运行`getrelease.sh`脚本,从SVN仓库拉取最新...

    eclipse从入门到精通

    在Eclipse中,这可能涉及到修改批处理脚本,如makewar和staticbuild,这些脚本用于构建和打包应用,通常包括更新依赖、设置环境变量、调用Ant构建工具等。 批处理脚本中的"makewar"和"staticbuild"是自动化构建过程...

    EclipseME-V1.7.9

    - **构建系统**:EclipseME利用Eclipse的构建系统(如Ant或Maven),自动化MIDlet的编译和打包过程,提高了开发效率。 - **版本控制**:EclipseME与其他Eclipse插件(如Git或SVN)协同工作,支持版本控制,便于...

    msbuild

    4. **部署策略**:定制复杂的发布流程,如打包应用程序、上传到服务器、更新数据库脚本等。 5. **持续集成**:在持续集成工具(如Jenkins、TeamCity)中,利用Groovy插件与MSBuild集成,实现自动化的构建和部署。 ...

    Maven1.1使用手册

    - **从 Ant 迁移**:给出了从 Ant 迁移到 Maven 的建议和方法。 - **使用 Maven**: - **构建 JARs**:解释了如何使用 Maven 打包 Java 应用程序为 JAR 文件。 - **资源处理**:说明了如何管理和打包项目的资源...

    android development tools(0.97) source code

    4. **编译与构建**:集成Ant构建工具,执行编译、打包、签名等任务。 5. **调试支持**:与DDMS集成,提供断点调试,查看变量值,控制程序执行流程。 6. **代码提示与重构**:提供代码补全、错误检查、重构功能,提高...

Global site tag (gtag.js) - Google Analytics