jacoco-2-jenkins集成代码测试覆盖率

前言

基于上一篇,我们便可以集成到jenkins进行构建。

必备环境:

一、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

原文地址:https://www.cnblogs.com/gsxl/p/13881427.html