第一步:

备注:前面安装jacoco的东西,直接参考上一篇就行。jacoco 实现代码覆盖率统计

然后还需要将jacoco 包,也导入到jenkins所在服务器中。

第二步:安装ant

将jenkins服务器中,下载ant 并将*/bin/ant 文件改为可执行文件。

第三步:创建一个build.xml

参考jacoco 实现代码覆盖率统计

只需要更改如下参数:

jacocoantPath: 指定jenkins中前面下载的jacoco包中jacocoant.jar的路径

integrationJacocoexecPath  生成的.exec文件放在jenkins中哪儿

address,port  这个和代码所在服务保持一致就行。其实此处就可以看出来。jenkins 就是通过这个地址去远程访问的服务的。然后对服务进行jacoco的dump。将生成的.exec在放到自己服务器中

第四步:配置jenkins

首先,要下载jacoco对应的插件。

其次,配置jenkins ,如下

 

可以在pre steps或者post steps前 中增加一步 command shell。为什么是post steps前 。因为post steps  会对java 程序进行重启,那就会对前面的jacoco的记录进行清空,从而导致没有记录。

command shell中代码如下:

if [[ $(wget -q -t 1 --spider --dns-timeout 3 --connect-timeout 10  172.18.0.6:8044; echo $?) -eq 0 ]]; 

then 
/home/deploy/apache-ant-1.10.6/bin/ant dump   -buildfile /home/deploy/build.xml

mv /home/deploy/*.exec /root/.jenkins/workspace/ca-tp-customs/ca-tp-customs-provider/ 

fi
View Code

 

注:可以看出没有写ip ,说明这是在jenkins 中发起的操作。

为什么需要将exec的文件移动到jenkins的工作空间中呢,这个是因为后面jenkins生成报告的时候,是只会在这个路径下寻找。具体如何知道是这个路径,文章后面单独解释。

然后,选择 配置 → 构建后操作 → 增加构建后操作→ 选择 Record Jacoco coverage report。配置默认就行。

最后,保存,构建就行。

附:

1.为什么需要移动exec文件:

下面是一个构建日志

从这个日志中,我们可以看出来,** 仅仅是代表的这个项目所在的路径,并不能从整个服务中去寻找。所以。为了保证exec能够找到,必须将其移动到该项目所在的目录下

 

posted on 2019-07-01 18:13  进_进  阅读(407)  评论(0)    收藏  举报