设为首页 收藏本站
查看: 940|回复: 0

[经验分享] ant checkout svn. 并ftp上传 运行远程命令

[复制链接]

尚未签到

发表于 2016-6-10 10:31:34 | 显示全部楼层 |阅读模式
  <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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-228548-1-1.html 上篇帖子: java 两个通过java代码操作FTP的类,上传下载删除,获取文件 下篇帖子: BAT+winrar命令行+ftp命令行 的运用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表