`
happyforever82
  • 浏览: 118428 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

ant checkout svn. 并ftp上传 运行远程命令

    博客分类:
  • java
阅读更多

<project basedir="." default="deploy" name="****">

 <property name="basePath" value="****" />
 <property name="destPath" value="${basePath}\svn" />

 <property name="svnurl" value="****" />
 <property name="svn.username" value="****" />
 <property name="svn.password" value="****" />

 <property name="server" value="****" />
 <property name="tomcat.path" value="****" />
 <property name="ftp.username" value="****" />
 <property name="ftp.password" value="****" />
 <property name="telnet.username" value="****" />
 <property name="telnet.password" value="****" />
 <property name="telnet.prompt" value="$" />

 <path id="ywtcclibpath">
  <fileset dir="${destPath}/global-lib">
   <include name="**\**.jar" />
  </fileset>
 </path>

 <taskdef name="svn" classname="org.tigris.subversion.svnant.SvnTask" />
 <target name="svncheckout" >
  <echo message="svn checkout from ${svnurl}" />
  <svn javahl="true" username="${svn.username}" password="${svn.password}">   
   <checkout url="${svnurl}/global-lib" destPath="${destPath}/global-lib" />   
   <checkout url="${svnurl}/****service" destPath="${destPath}/****service" />
   <checkout url="${svnurl}/****web" destPath="${destPath}/****web" />
  </svn>
 </target>
 
 <target name="preparewar" depends="svncheckout">
  <echo message="start to make a war" />
  
  <delete dir="${basePath}\target\web" />
  <mkdir dir="${basePath}\target\web" />

  <copy todir="${basePath}\target\web">
   <fileset dir="${destPath}\****web\web">
    <include name="**/**/**" />
    <exclude name="**/.svn/**" />
   </fileset>
  </copy>
  
  <mkdir dir="${basePath}\target\web\WEB-INF\classes" />

  <echo message="compile the service code" />
  <javac fork="true" classpathref="ywtcclibpath" srcdir="${destPath}\****service\src\main\java" encoding="UTF-8"
   destdir="${basePath}\target\web\WEB-INF\classes" target="1.5" memorymaximumsize="256m" excludes="**/.svn/**" />
  <copy todir="${basePath}\target\web\WEB-INF\classes">
   <fileset dir="${destPath}\****service\src\main\resource" />
  </copy>

  <!--
  <echo message="compile the service junit code" />
  <javac fork="true" classpathref="ywtcclibpath" srcdir="${destPath}\****service\src\test\java" encoding="UTF-8" destdir="${destPath}\target\web\WEB-INF\classes" target="1.5" memorymaximumsize="256m" excludes="**/.svn/**" />

  <junit showoutput="true" printsummary="true" fork="true">
   <classpath>
    <path>
     <fileset dir="${destPath}/target/lib">
      <include name="**\**.jar" /> 
     </fileset>
    </path>
    <path location="${destPath}\target\web\WEB-INF\classes" />
   </classpath>
   <formatter type="plain" />
   <batchtest haltonerror="on" haltonfailure="on" todir="${destPath}\target">
    <fileset dir="${destPath}\target\web\WEB-INF\classes">
     <include name="**\*Test.class" />
    </fileset>
   </batchtest>
  </junit>
  -->
  
  <echo message="compile the web code" />
  <javac fork="true" classpathref="ywtcclibpath" srcdir="${destPath}\****web\src\main\java" encoding="UTF-8" destdir="${basePath}\target\web\WEB-INF\classes" target="1.5" memorymaximumsize="256m" excludes="**/.svn/**" />
  <copy todir="${basePath}\target\web\WEB-INF\classes">
   <fileset dir="${destPath}\****web\src\main\resource" />
  </copy>
  <copy todir="${basePath}\target\web\WEB-INF\lib">
   <fileset dir="${basePath}\target\lib" />
  </copy>

  <war destfile="${basePath}\ROOT.war" basedir="${basePath}\target\web" />

 </target>

 <target name="shutdownAndUpload" depends="preparewar">

  <echo message="cleaning remote server files" />
  <telnet server="${server}">
   <read>login:</read>
   <write string="${telnet.username}" />
   <read>Password:</read>
   <write string="${telnet.password}" />
   <read string="${telnet.prompt}" />
   <write>${tomcat.path}/bin/shutdown.sh</write>
   <read string="${telnet.prompt}" />
  </telnet>

  <telnet server="${server}">
   <read>login:</read>
   <write string="${telnet.username}" />
   <read>Password:</read>
   <write string="${telnet.password}" />
   <read string="${telnet.prompt}" />
   <write>rm -R ${tomcat.path}/webapps/ROOT</write>
   <read string="${telnet.prompt}" />
   <write>rm -R ${tomcat.path}/webapps/ROOT.war</write>
   <read string="${telnet.prompt}" />
  </telnet>

  <ftp password="${ftp.password}" server="${server}" userid="${ftp.username}" remotedir="${tomcat.path}/webapps/" binary="true">
   <fileset file="${basePath}\ROOT.war" />
  </ftp>

 </target>

 <target name="deploy" depends="shutdownAndUpload">

  <telnet server="${server}">
   <read>login:</read>
   <write string="${telnet.username}" />
   <read>Password:</read>
   <write string="${telnet.password}" />
   <read string="${telnet.prompt}" />
   <write string="nohup ${tomcat.path}/bin/startup.sh" />
   <read string="${telnet.prompt}" />
  </telnet>
  <echo message="well doen, it's over." />

 </target>
</project>

1
0
分享到:
评论

相关推荐

    Linux离线安装svn.zip

    Linux离线安装svn, 含详细的配置文档和所需的所有相关依赖包,亲测可用。支持svn checkout https://这种格式的(ssl加密协议)

    一步一步教你构建SVN服务器.rar

    包括APACHE、SVN和客户端的安装及配置。 step1、安装apache服务器。 版本:httpd-2.2.15-win32-x86-no_ssl.msi 目录:E:\Apache2.2 验证安装结果:IE中输入:http://localhost,显示:"It works!" ok. step2、安装...

    SVN使用手册中文版.chm

    我可以在web浏览器看到我的版本库,但是svn checkout给我一个301 Moved Permanently错误。 我尝试察看我的文件的一个老版本,但是svn告诉我“path not found”。 C. WebDAV和自动版本化 WebDAV基本概念 仅是平常的...

    SVN资源库代码统计工具

    4、 到dos命令窗口,把目录切换到刚checkout的代码目录,执行svn log --xml -v &gt; svn.log,生成svn.log文件。 5、 到 statsvn 的目录下,执行java -jar statsvn.jar log 文件路径 项目的目录。还可以后面带上-output...

    linux下svn常用命令

    svn命令在linux下的使用教程 2010-09-17 22:28:22 来源: 【大 中 小】 评论: 条 li 1、 将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn: // 192.168 . 1.1 / pro / ...

    AnkhSVN 2.5.12128 简体中文版

    Visual Studio 的SNV插件,找了好久

    linux下的 svn命令

    例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 2、往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add *.php(添加当前目录下所有的php文件) 3、将改动的文件...

    opencart Quick Checkout好用.zip

    opencart Quick Checkout好用

    SmartSVN含注册机

    Syntevo.SmartSVN.Enterprise.v6.0.1.Incl.KeyfileMaker-DVT.rar SmartSVN是一个功能完备的Subversion客户端,可以运行在Linux, Mac OS X, OS/2, Unix... -支持所有的svn命令。  -支持标签操作。  -智能化程度高。

    Linux下svn命令详解

    本文主要是说明linux下svn命令的使用方法,同时记录自己在使用中遇到的一些疑惑。  1、Linux命令行下将文件checkout到本地目录  svn checkout url(url是服务器上的目录)  例如:svn checkout svn://192.168....

    后台(整套简约APP手机移动端UI界面UX交互设计作品集XD分层素材模板xd).zip

    后台 Mobile Dashboard 8 for Adobe XD.xd png page.xd png Crypto Dashboards for ...Checkout Delivery – 1.png Checkout Delivery.png Checkout Finish.png Checkout Payment – 1.png Checkout Payment.png ......

    svn1.6.2使用帮助文档,svn帮助文档,如何使用svn

    svn1.6.2使用帮助文档(英文版) Table D.1. List of available commands and options Command Description :about Shows the about dialog. This is also shown if no command is given. :log Opens the ...

    4.13svn介绍.avi

    详细讲解svn,默认情况下,在下载远程代码时,SVN不会新建当前选定的远程文件夹,例如对应上面的图片中,SVN是不会新建cgi_oss目录的,代码下载时,直接在sourcecode下列出cgi_oss目录下的子目录及文件,而不包含cgi...

    SVN培训教程.pptx

    SVN基本概念 工作副本(WorkSpace) 与位于中央配置库相对应的是每个人的工作空间,它是每个程序员工作的地方,程序员从配置库拿到源代码,放在本地作为工作副本,在工作副本上进行查看、修改、编译、运行、测试等...

    SVN使用手册中文版快速入门

    我可以在web浏览器看到我的版本库,但是svn checkout给我一个301 Moved Permanently错误。 我尝试察看我的文件的一个老版本,但是svn告诉我“path not found”。 C. WebDAV和自动版本化 WebDAV基本概念 仅是平常的...

    SVN安装和采用http或https访问

    svn的安装,使用http访问svn资源库,使用https访问svn资源库

    SVN 命令使用手册

    一、 常用命令 1. Svnadmin create 创建库 ...3. Svn co: 将文件 checkout 到本地目录 4. Svn add: 往版本库中添加新的文件 5. Svn ci: 将改动的文件提交到版本库 6. Svn up: 更新到某个版本 .....

    git 视频教程

    git视频教程.4.4.Git 命令 - git checkout.mp4 git视频教程.4.5.Git 命令 - git merge.mp4 git视频教程.4.6.Git 命令 - git merge、git mergetool.mp4 git视频教程.4.7.Git 命令 - git log、git stash、git tag.mp4 ...

    mplayer-checkout-snapshot.tar.rar_checkout_mplayer_播放器 源码

    mplayer播放器源码 mplayer-checkout-snapshot.tar.bz2

Global site tag (gtag.js) - Google Analytics