使用ant进行Daily build

相信了解MSF的人都知道Daily build 的重要性,被认为是微软成功的秘诀之一,我从事过很长一段时间的软件产品开发的管理,我也能深深的体会到Daily build 的重要性。我想微软一定有一套专门用来做Daily build 的自动化工具,而我们在没有工具的前提下,最简单可行的方法,无非就是指定一个人,把所有的代码都集中起来,然后打开编译器,输入命令,进行编译。在Ant1.5以后的版本中,提供了.net Tasks 以及 Microsoft vss Tasks。以下我将介绍,使用此二者进行Daily build。

本文中所涉及的软件有:

1. Ant 1.6.5  (http://ant.apache.org)

2. JDK1.5 (http://java.sun.com)

3. MS .net framework 1.0.3705

4. MS VSS

有关软件的安装和配置,在此就不多说明了。只有两点需要特别注意,就是系统PATH的设置中,务必加上csc.exe和ss.exe所在目录,否则ant可能会无法正常执行。另外,有疑问可以参考ant的手册。

以下就是一个C#Web项目的Daily build 实例 build.xml 文件内容:

<project name="MyProject" default="compile" basedir=".">
 <property name="src.dir" location="C:/Inetpub/wwwroot/Syanai_1"/>
 <property name="out.dir" location="C:/Inetpub/wwwroot/Syanai_1/bin"/>
 <property name="reference.dir" location="C:/Inetpub/wwwroot/Syanai_1/bin"/>
 <property name="framework.dir" location="c:/WINNT/Microsoft.NET/Framework/v1.0.3705"/>
 <property name="ss.dir" location="d:/temp"/>
 
 <!-- 初期化 -->
 <target name="init">
  <!--    localPath=源文件所在目? serverpath=ss.ini文件所在目? login=用?名,密? vsspath=vss中目?名-->
  <vssget localPath="${src.dir}" serverpath="${ss.dir}" login="han,han" vsspath="$/Syanai" writable="true" writablefiles="replace"/>
  <vssget localPath="${src.dir}/Manager" serverpath="${ss.dir}" login="han,han" vsspath="$/Syanai/Manager" writable="true" writablefiles="replace"/>
  <vssget localPath="${src.dir}/base" serverpath="${ss.dir}" login="han,han" vsspath="$/Syanai/base" writable="true" writablefiles="replace"/>
  <vssget localPath="${src.dir}/DbAccess" serverpath="${ss.dir}" login="han,han" vsspath="$/Syanai/DbAccess" writable="true" writablefiles="replace"/>
  <vssget localPath="${src.dir}/bin" serverpath="${ss.dir}" login="han,han" vsspath="$/Syanai/bin" writable="true" writablefiles="replace"/>
 </target>
 
 <!-- コンパイル -->
 <target name="compile" depends="init">
  <csc optimize="true" debug="false"  warnLevel="4" unsafe="false" targetType="library"  incremental="false" destFile="${out.dir}/Syanai.dll" >
   <src dir="${src.dir}/base" includes="*.cs"/>
   <src dir="${src.dir}/DbAccess" includes="*.cs"/>
   <src dir="${src.dir}/Manager" includes="*.cs"/>
   <src dir="${src.dir}" includes="*.cs"/>
    <reference file="${framework.dir}/System.dll"/>
   <reference file="${framework.dir}/System.Data.dll"/>
   <reference file="${framework.dir}/System.XML.dll"/>
   <reference file="${framework.dir}/System.Web.dll"/>
   <reference file="${framework.dir}/System.Drawing.dll"/>
   <reference file="${reference.dir}/Mono.Security.dll"/>
   <reference file="${reference.dir}/Npgsql.dll"/> 
   <define name="RELEASE"/>
   
  </csc>
 </target>

</project>

 该build.xml,主要有两个target ,一个init ,主要负责从vss中获得最新的源文件,而compile,则负责编译。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值