前言
基于上一篇,我们便可以集成到jenkins进行构建。
必备环境:
- jenkins
- jacoco
- ant
- maven
- java 源码:https://github.com/git-gsxl/jacoco-demo
一、jacoco 与 java 服务
实际是自己的一个demo服务,实际使用中是运维那边起的服务,那么就可以让他们配置一下ant,以及服务启动时多加一个参数。
1、将 jacoco-0.8.6.zip 包解压到任意目录,如下:/root/jenkins/data:
2、拿到 java 源码里面的demo-V1024.jar包:
启动时增加的参数:
-javaagent:/root/jenkins/data/jacoco-0.8.6/lib/jacocoagent.jar=includes=*,output=tcpserver,port=9999,address=0.0.0.0,append=false
我的测试服务启动:
nohup java -javaagent:/root/jenkins/data/jacoco-0.8.6/lib/jacocoagent.jar=includes=*,output=tcpserver,port=9999,address=0.0.0.0,append=false -jar demo-V1024.jar > java.log 2>&1
二、jenkins配置
本篇是基于docker-jenkins进行安装配置,与war包等其它方式大同小异。
1、安装 jacoco、ant、maven 插件
①jacoco:
②ant:
③maven:
2、全局工具配置mvn配置文件
settings.xml是mvn的配置文件,增加了aliyun的源,这样能下载包更快些。
当然你也可以在jenkins的mvn conf目录下进行更改。
3、ant、mvn 安装配置
三、新建 jenkins job
1、新建job名称为:jacoco
2、设置 git 代码地址:https://github.com/git-gsxl/jacoco-demo.git
3、新增 mvn 配置
①添加 mvn 步骤(需要点击“高级”展开)
② 配置 mvn 参数
compile:是将Java 源程序编译成 class 字节码文件
4、新增 ant 配置
①添加 ant 步骤
②配置 ant 参数(需要点击“高级”展开)
参数:
- Ant Version:ant选择全局工具配置的版本
- Targets:运行的dump
- Build File:jenkins-build.xml,因为这里有多个xml文件所以需要指定
- Properties:构建的参数
- jacocoantPath:jacocoant.jar包文件路径
- jacocoexecPath:jacoco生成的exec文件路径
- server_ip:后端起服务时增加的i参数:ip
- server_port:后端起服务时增加的i参数:端口
- reset:是否重置jmv覆盖率数据,布尔值
- append:是否增量,布尔值
jacocoantPath=/var/jenkins_home/data/jacoco-0.8.6/lib/jacocoant.jar jacocoexecPath=$WORKSPACE/target/coverage/jacoco.exec server_ip=47.xxx.xxx server_port=9999 reset=ture append=ture
因为我是docker-jenkins,所以容器内部前面我已经把jacoco目录挂载到了jenkins/data下面。
所以我jacoco在容器的这个路径:/var/jenkins_home/data/jacoco-0.8.6/lib/jacocoant.jar
jacocoantPath:是在工作目录下的,所以是:$WORKSPACE/target/coverage/jacoco.exec
5、jacoco报告配置
①添加 jacoco报告 步骤
②配置 jacoco报告 参数
6、保存 job,并构建。
构建首次会很慢,因为要拉取git、下载ant、maven。
运行可以先访问一下java代码服务的接口,这样构建后才有覆盖率,不然为空。
如果觉得ant、maven下载很慢,那么可以自行下载好包,挂载到 jenkins 目录,进行配置。
欢迎来大家QQ交流群一起学习:482713805