3、build.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<project name="AntDemo" default="junit" basedir=".">
<!-- =================================================================== -->
<!-- 变量设置  -->
<!-- =================================================================== -->
<!-- 源代码src路径 -->
<property name="src.path" value="src/java"/>
<!-- 单元测试代码路径 -->
<property name="test.path" value="src/test"/>
<!-- 编译文件class路径 -->
<property name="build.path" value="build"/>
<!-- jar包路径 -->
<property name="dist.path" value="dist"/>
<!-- lib包路径 -->
<property name="lib.path" value="lib"/>
<!-- 生成报告junit4.xml路径 -->
<property name="report.path" value="report"/>
<!-- =================================================================== -->
<!-- 设置classpath -->
<!-- =================================================================== -->
<path id="compile.path">
<fileset dir="${lib.path}">
<include name="**/*.jar"/>
</fileset>
<pathelement path="${build.path}"/>
</path>
<!-- 初始化 -->
<target name="init">
<mkdir dir="${build.path}"/>
<mkdir dir="${report.path}"/>
<mkdir dir="${dist.path}"/>
</target>
<!-- =================================================================== -->
<!-- 清除历史编译class -->
<!-- =================================================================== -->
<target name="clean" description="clean">
<delete dir="${build.path}"/>
<delete dir="${report.path}"/>
<delete dir="${dist.path}"/>
</target>
<!-- =================================================================== -->
<!-- 编译测试文件,初始化目录 -->
<!-- =================================================================== -->
<target name="compile" depends="init">
<javac srcdir="${src.path}" destdir="${build.path}"  classpathref="compile.path" includeantruntime="true"/>
<javac srcdir="${test.path}" destdir="${build.path}"  classpathref="compile.path" includeantruntime="true"/>
</target>
<!-- =================================================================== -->
<!-- 执行测试案例 -->
<!-- =================================================================== -->
<target name="junit" depends="compile">
<junit printsummary="true" fork="true">
<formatter type="xml" usefile="true"/>
<classpath refid="compile.path"/>
<batchtest fork="on" todir="${report.path}" haltonfailure="no">
<fileset dir="${build.path}">
<include name="**/*Test.class"/>
</fileset>
</batchtest>
</junit>
</target>
<target name="junit-report" depends="junit">
<!-- 产生单元测试报表文档 -->
<junitreport todir="${report.path}">
<fileset dir="${report.path}">
<include name="TEST-*.xml" />
</fileset>
<report format="frames" todir="${report.path}" />
</junitreport>
</target>
<target name="make-jar" depends="compile" description="make jar file">
<jar jarfile="${dist.path}/AntDemo.jar">
<fileset dir="${build.path}">
<!--除去test文件-->
<exclude name="**/*Test.class"/>
</fileset>
</jar>
</target>
</project>

  三、配置Jenkins:
  PS:Jenkins可以通过master/slave来支持分布式的job运行,本文运行在master,即Jenkins所在的机器。
  1、打开jenkins首页,新建一个job,输入Item名称,选择 构建一个自由风格的软件项目,点击"OK"

  2、在 源码管理 那里,选择Subversion,在Repository URL后面,输入你的SVN地址。

  PS:Repository URL使用本地磁盘当仓库这种方法后来我在其它机器上试验时,发现老是报错:svn: E180001: Unable to open an ra_local session to URL。一时没有找到解决办法,大家如果也碰到此问题,可以搭建SVN服务器来管理源代码,我试了,挺好使的。
  3、在 构建 那里也可以有两种做法:
  I、选择Execute Windows batch command,在输入框输入如下命令(这里我选择的是这个方法):
  set path=C:ANT_HOMEApache-Ant-1.7.0in;path  把ant的安装目录添加到path
  ant junit                        执行junit task

  II、方法I比较麻烦,如果我们设置好了ANT_HOME,可以选择Invoke Ant,然后在targets里面指定我们build.xml里的task name。

  4、点击保存,然后选择立即构建,执行结果: