第一步:
备注:前面安装jacoco的东西,直接参考上一篇就行。jacoco 实现代码覆盖率统计
然后还需要将jacoco 包,也导入到jenkins所在服务器中。
第二步:安装ant
将jenkins服务器中,下载ant 并将*/bin/ant 文件改为可执行文件。
第三步:创建一个build.xml
只需要更改如下参数:
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
注:可以看出没有写ip ,说明这是在jenkins 中发起的操作。
为什么需要将exec的文件移动到jenkins的工作空间中呢,这个是因为后面jenkins生成报告的时候,是只会在这个路径下寻找。具体如何知道是这个路径,文章后面单独解释。
然后,选择 配置 → 构建后操作 → 增加构建后操作→ 选择 Record Jacoco coverage report。配置默认就行。
最后,保存,构建就行。
附:
1.为什么需要移动exec文件:
下面是一个构建日志

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