当前位置:首页 > 开发 > 编程语言 > 持续集成 > 正文

利用ant自动从vss下载代码并编译到自动发布

发表于: 2012-04-25   作者:cuishuangjia   来源:转载   浏览次数:
vss
摘要:   利用ant自动从vss下载代码并编译到自动发布 分类: 计算机相关东西 2006-09-18 17:40 1540人阅读 评论 (0) 收藏 举报  项目做了好久,每次都要手工从vss下载代码,再编译,再发布,觉得好麻烦的,以前项目比较忙就没有时间来研究他,昨天无意在网上看到一个基于wls自 动发布过来,个人认为可以改下为我们所用了,由于自己以

 

利用ant自动从vss下载代码并编译到自动发布

分类: 计算机相关东西 1540人阅读 评论 (0) 收藏 举报
 项目做了好久,每次都要手工从vss下载代码,再编译,再发布,觉得好麻烦的,以前项目比较忙就没有时间来研究他,昨天无意在网上看到一个基于wls自 动发布过来,个人认为可以改下为我们所用了,由于自己以前对ant这些东西不是蛮了解,只好先硬着头皮到网上找些这方面的资料看看,我想应该比较容易搞定 的吧。
      搞清了ant的一些基本概率,就看看别人写的bulid.xml吧,再改改,试一试,唉,报错,再找到报错的日志,可能是配置文件中有汉字的缘故吧,删除这些注释的东西,再运行下ant,搞定!(基于tomcat发布的)
     如下是bulid.xml的详细列表;
    <project name="oa" basedir="." default="all">
<!--path mapping-->
<property file="build.properties"/>
<property name="name" value="OA"/>
<property name="base.dir" value="checkout/${name}/oa-web-app"/>
<property name="src.dir" value="${base.dir}/src"/>
<property name="bin.dir" value="${base.dir}/war/WEB-INF/classes"/>
<property name="lib.dir" value="${base.dir}/war/WEB-INF/lib"/>
<property name="dist.dir" value="D:/oaWorkspace/jakarta-tomcat-5.5.9/webapps/${name}"/>
<property name="hist.dir" value="history/${name}"/>
<property name="appserver.home" value="D:/oaWorkspace/jakarta-tomcat-5.5.9"/>
 
<property name="vss.ssdir" value="D:/oaWorkspace/vss/win32"/>
<property name="vss.svrdir" value="H:"/>
<taskdef name="stop" classname="org.apache.catalina.ant.StopTask">       
 <classpath>
  <path location="${appserver.home}/server/lib/catalina-ant.jar"/>       
 </classpath>   
</taskdef>
<taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask">       
 <classpath>
  <path location="${appserver.home}/server/lib/catalina-ant.jar"/>       
 </classpath>   
</taskdef>
<taskdef name="start" classname="org.apache.catalina.ant.StartTask">       
 <classpath>
  <path location="${appserver.home}/server/lib/catalina-ant.jar"/>       
 </classpath>   
</taskdef>
<path id="appClassPath">
 <pathelement path="${java.class.path}"/>
 <fileset dir="${lib.dir}">
  <include name="*.jar"/>
 </fileset>
</path>
<target name="getVssCode">
<tstamp>
<format property="TODAY" pattern="yyyy-MM-dd" />
</tstamp>
<echo message="Getting latest source codes from: ${TODAY}" />
<echo message="${vss.svrdir}" />
<vssget vsspath="/E.OA系统产品/5.开发库/1.代码库/1.源代码/OA/oa-web-app" localpath="${base.dir}" login="name,password"
ssdir="${vss.ssdir}" serverPath="${vss.svrdir}" autoresponse="Y" recursive="true" quiet="true" />
</target>

<target name="all" depends="compile,deploy,backup" description="Build application"/>
<!--Clean-->
<target name="clean">
 <delete includeEmptyDirs="true">
  <fileset dir="${base.dir}" />
 </delete>
</target>
<!--Init-->
<target name="init">
 <mkdir dir="${base.dir}"/>
</target>
<!--Compile-->
<target name="compile">
 <javac srcdir="${src.dir}" destdir="${bin.dir}" fork="on" optimize="off" deprecation="on" memoryMaximumSize="128m">
  <classpath refid="appClassPath"/>
 </javac>
    <native2ascii src="${src.dir}" dest="${bin.dir}"
            includes="*_zh_CN.properties" excludes="*displaytag_zh_CN.properties" encoding="GB2312" />
    <native2ascii src="${src.dir}" dest="${bin.dir}"
            includes="*displaytag_zh_CN.properties" encoding="UTF-8" />       
    <copy todir="${bin.dir}">
  <fileset dir="${src.dir}">
   <exclude name="**/*.java"/>
   <include name="**/*.xml"/>
  </fileset>
 </copy>
 <copy todir="${bin.dir}">
  <fileset dir="${src.dir}">
                 <exclude name="*_zh_CN.properties"/>
                 <include name="*.properties"/>
         </fileset>
 </copy>
</target>
<!--Deploy-->
<target name="deploy">
    <delete includeEmptyDirs="true">
        <fileset dir="${dist.dir}/WEB-INF/classes"/>
    </delete>
    <copy todir="${dist.dir}">
  <fileset dir="${base.dir}/war"/>
 </copy>
</target>

<!--Backup-->
<target name="backup">
    <tstamp/>
    <mkdir dir="${hist.dir}/${TODAY}"/>
    <mkdir dir="${hist.dir}/${TODAY}/coding"/>
    <mkdir dir="${hist.dir}/${TODAY}/deploy"/>
    <mkdir dir="${hist.dir}/${TODAY}/db"/>
    <copy todir="${hist.dir}/${TODAY}/coding">
  <fileset dir="${base.dir}"/>
 </copy>
    <copy todir="${hist.dir}/${TODAY}/deploy">
  <fileset dir="${dist.dir}"/>
 </copy>
</target>
<target name="stop" description="Stop application in Tomcat">       
 <stop url="${tomcat.manager.url}"                
  username="${tomcat.manager.username}"                
  password="${tomcat.manager.password}"                
  path="/${name}"/>   
</target>
<target name="reload" description="Reload application in Tomcat">       
 <reload url="${tomcat.manager.url}"                
  username="${tomcat.manager.username}"                
  password="${tomcat.manager.password}"                
  path="/${name}"/>   
</target>
<target name="start" description="start application in Tomcat">       
 <start url="${tomcat.manager.url}"                
  username="${tomcat.manager.username}"                
  password="${tomcat.manager.password}"                
  path="/${name}"/>   
</target>
</project>
少了一个文件build.properties的内容
# Ant properties for building the spring
user.home=D:/oaWorkspace
appappserver.home=${user.home}/jakarta-tomcat-5.5.9
deploy.path=${appserver.home}/webapps
tomcat.manager.url=http://127.0.0.1/manager
tomcat.manager.username=manager
tomcat.manager.password=tomcat

利用ant自动从vss下载代码并编译到自动发布

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
因本人一直使用.NET开发,在做项目的时候,每次都要涉及到各个环境的部署问题,手工操作容易出错,
.NET代码自动编译发布 因本人一直使用.NET开发,在做项目的时候,每次都要涉及到各个环境的部署问题
许多NetBeans的用户常为自己IDE里编译系统的优点而骄傲不已,因为这个优点是Eclipse所不具备的。Net
许多NetBeans的用户常为自己IDE里编译系统的优点而骄傲不已,因为这个优点是Eclipse所不具备的。Net
许多NetBeans的用户常为自己IDE里编译系统的优点而骄傲不已,因为这个优点是Eclipse所不具备的。Net
VSS 的全称为 Visual Source Safe ,作为 Microsoft Visual Studio 的一名成员,它的主要任务就是负
原创文章,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4535459.html android 程序打包成apk,如
android 程序打包成apk,如果在是命令行方式,一般都要经过如下步骤: 1.用aapt命令生成R.java文件
之前写过一篇《windows下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件》,
性能测试一直以来都是测试领域一个令人争议的话题。测试的参考标准、评判依据及测试的方法选择都很
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号