一.前序工作
- 下载ant:http://ant.apache.org/bindownload.cgi
- 下载jenkins:http://jenkins-ci.org/
- 下载testng:http://testng.org/doc/index.html
二.配置
- 配置ant
- 在环境变量添加ANT_HOME=D:\Program Files\apache-ant-1.9.6
- 在PATH添加;%ANT_HOME%\bin;
- 配置好后,在cmd中运行ant –version,如出现版本号,则成功
- 在eclipse中安装testng
- For Eclipse 3.4 and above, enter http://beust.com/eclipse.
- For Eclipse 3.3 and below, enter http://beust.com/eclipse1
- 安装jenkins
直接运行下载的jenkins文件,安装完毕后,在浏览器输入http://localhost:8080/
4. 安装jenkins插件
打开jenkins,进入系统管理->管理插件,点击可选插件,勾选以下插件:
a. Email-ext plugin--管理邮件
b. HTML Publisher Plugin--保存请求生成的 html 格式的运行报告
c. EnvInject Plugin--、Shared Objects Plugin、Build User Vars Plugin、Build Name Setter Plugin--每一次请求动态生成包含用户姓名等多方面信息的 ID 以区分
d. Extended Choice Parameter plugin--用户可以在提交请求时在页面上输入多选式参数,这些动态输入将以环境变量的形式传递给执行模块影响最终请求的行为
5. 配置jenkins
进入系统管理->系统管理
a.配置JDK、ANT,如下图
b.jenkins location设置,管理员的邮件地址一定要与后面的设置的发邮件地址一致
c. 配置svn,本机安装的1.7
d. 配置邮件
e. 邮件发送默认的触发器
三. 新建job
1. 选择一个*风格的项目
2.源码管理中,添加svn的项目地址,首次配置,需要填写svn的用户名和密码
3.增加构建步骤,选择Invoke Ant,且做如下配置
4. 增加构建后的步骤,选择Publish HTML reports和Editable Email Notification
四、 构建
1.保存后,返回该项目的工作区,在该项目下点击立即构建
2.构建完成后,可在console output中查看构建日志信息
3.构建完成后,可在HTML Repot中查看报告
4.构建成功后,可在邮箱中查看上述配置中,发送的邮件
五、ant的build.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<project name="HelloWorld" default="run" basedir=".">
<property name="src" value="src"/>
<property name="dest" value="classes"/>
<property name="hello_jar" value="hello1.jar"/>
<target name="init">
<mkdir dir="${dest}"/>
</target>
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${dest}"/>
</target>
<target name="build" depends="compile">
<jar jarfile="${hello_jar}" basedir="${dest}"/>
</target>
<target name="run" depends="build">
<java classname="com.test.TestAnt" classpath="${hello_jar}"/>
</target>
<target name="clean">
<delete dir="${dest}" />
<delete file="${hello_jar}" />
</target>
<target name="rerun" depends="clean,run">
<ant target="clean" />
<ant target="run" />
</target>
</project>
六、搭建时出现的问题
1.jenkins提示ant不是命令。解决:查看环境变量是否配置正确,查看jenkins的配置中是否选择了相应的ant版本
2.jenkins提示乱码。解决:查看build.xml是否配置UTF-8
3.找不到相应的jar。解决:查看build.xml中引入的jar路径是否正确
4.邮件发不出去。解决:全局的系统管理员的邮件地址是否与发件人地址一致
5.全局的jenkins地址应是:IP+port,不能是localhost
-------------------------------------------附一个包含testng的build文件-------------------------------------------
<?xml version="1.0" encoding="UTF-8" ?>
<project name="testYun" default="run" basedir=".">
<property name="src" value="src"/>
<property name="dest" value="build/classes"/>
<property name="runid" value="run.classpath"/>
<property name="hello_jar" value="hello.jar"/>
<!--初始化,新建文件夹 -->
<target name="init" depends="clean">
<mkdir dir="${dest}"/>
</target>
<!--导入依赖的jar包,供运行时使用 -->
<echo message="import libs" />
<path id="run.classpath">
<fileset dir="${basedir}/lib">
<include name="**/*.jar" />
</fileset>
</path>
<!--testng依赖包,固定格式 -->
<taskdef name="testng" classname="org.testng.TestNGAntTask" classpathref="run.classpath" />
<!--删除class或者jar包 -->
<target name="clean">
<delete dir="build"/>
<delete file="${hello_jar}"/>
</target>
<!--编译源文件 -->
<target name="compile" depends="init">
<javac srcdir="src" destdir="${dest}" debug="on">
<classpath refid="${runid}"/>
</javac>
</target>
<!--运行时jar包路径 -->
<path id="runpath">
<path refid="${runid}"/>
<pathelement location="${dest}"/>
</path>
<!--build jar包 -->
<target name="build" depends="compile">
<jar jarfile="${hello_jar}" basedir="${dest}"/>
</target>
<!--运行程序 -->
<target name="run" depends="build">
<!--设置testng的xml文件 -->
<testng classpathref="runpath" outputDir="test-output">
<xmlfileset dir="${basedir}" includes="testyun.xml"/>
<jvmarg value="-ea" />
</testng>
</target>
</project>