一、使用步骤
1.进入Jenkins - QA页面,打开jacoco应用
2.点击构建,选择需要生成覆盖率报告的 【应用】 和 【环境】,点击“开始构建”
3.构建成功后,点击“HTML Report”,查看覆盖率详细报告
4.如果遇到多个人同时构建,记住自己的 buildID,进入到部署页面查看自己的覆盖率报告
5.报告页面右上角 ZIP 链接,可以将报告下载到本地查看
二、配置说明–Jenkins配置
1.增加【service】choice,Name=service,Choice配置应用名称,不用加“_环境”,新增应用时,在Choice中添加应用名即可
2.增加【env】choice,目前仅支持b环境和c环境
3.构建脚本配置,新增service+port,格式:[“credit”]=“15557”
脚本模版:
#!/bin/bash
declare -A map=([“router”]=“15556” [“credit”]=“15557”)
java -jar sb-1.1.jar KaTeX parse error: Expected group after '_' at position 10: {service}_̲{env} KaTeX parse error: Expected '}', got 'EOF' at end of input: {map[service]}
4.构建后操作,主要配置HTML directory to archive:/var/jenkins_home/workspace/KaTeX parse error: Expected group after '_' at position 10: {service}_̲{env}/${service}-service/report
地址中的变量service 和 env 对应上边设置变量,目前只能获取 ${service}-service 目录结构应用的覆盖率报告
注意勾选,Keep past HTML report,目的是不覆盖其他应用的报告
三、配置说明 - service部署脚本配置
1.部署脚本模版/data/project_b/config文件夹下,增加jacocoagent.jar
2.修改deploy.sh文件,增加参数-p ${host}:$4:8082,业务service的docker内启动jacocoagent服务,端口号为8082,对外暴露端口号是变量 $4
docker run -d -p ${host}:$3:$3 -p ${host}:$4:8082 --restart=always \
3.修改Dockerfile文件
FROM hub.xxx.cn/jdk8:20171130
ENV LANG C.UTF-8
RUN mkdir /jobs/
COPY project.jar /jobs/project.jar
COPY fpjob.sh /jobs/
RUN mkdir -p /opt/jacoco/lib/
COPY jacocoagent.jar /opt/jacoco/lib/jacocoagent.jar
RUN mkdir -p /data/jobs/
CMD [“bash”,"/jobs/fpjob.sh"]
4.修改fpjob.sh文件
java -javaagent:/opt/jacoco/lib/jacocoagent.jar=includes=*,output=tcpserver,port=8082,address=0.0.0.0
5.在业务应用docker内,启动一个8082的jacocoagent服务,对外暴露端口号在业务service部署脚本中配置
6.业务系统对应jacoco端口号列表: