支持docker容器停止、发版的累加记录,不会因为项目部署而导致历史覆盖率报告清空。
一、概要点罗列
堡垒机上传后端jar包和项目原文件包、apache-ant-1.9.15、jacoco-0.8.6、Dockerfile、jacocoagent.jar
1、linux下载1.9.15版本的ant,安装
2、将ant和jacoco上传至统一服务器路径 最好是项目根目录下,jacocoagent.jar可放在根目录(方便dockerfile引用jar包)
3、ant的bin目录下,修改build.xml配置
4、编写Dockerfile
5、ant的bin的目录下,生成ant可执行文件和report
二、步骤
基于Docker容器+jacoco+ant生成代码覆盖率报告
1、关于项目代码:获取到能成功启动的完整后台代码,以便后续能在容器环境成功部署
2、关于工具及jar包生成:建议使用IntelliJ IDEA 2018.1.8 (Community Edition)、官网下载jacoco-0.8.6、官网下载apache-ant-1.9.15(配套jdk的1.8版本)
3、Dockerfile编写(jar包处于同级目录)
4、堡垒机的环境配置:java环境配置、ant环境配置,记得配置完后查看java -version和ant -version是否配置成功
5、修改参数配置:ant/bin目录内的build.xml配置对应参数
6、命令行启动项目:Docker启动、ant dump、ant report
7、获取覆盖率报告
1、关于项目代码
获取到能成功启动的完整后台代码,以便后续能在docker容器上成功部署。
2、关于工具及jar包生成
2.1、工具:建议官网下载使用IntelliJ IDEA 2018.1.8 (Community Edition)版本、官网下载jacoco-0.8.6版本、官网下载apache-ant-1.9.15(建议放在根目录下)
2.2、打包:idea工具导入maven,如下图所示。修改【…/start】-pom.xml的packaging字段为jar(目的是生成jar包)。找到start-lifecycle,双击【clean】-【compile】-【package】,生成的*.jar包在target同级目录下
##3、Dockerfile编写
注意点:jacocoagent.jar、后端jar包需要放到容器上;
基础镜像需要引入,提前制作好基础镜像包
4、环境配置
4.1、java环境配置:java -version查看
4.2、ant环境配置:参考【https://blog.csdn.net/qq_35195359/article/details/117946814】。配置成功后,输入ant -version
5、修改配置参数
5.1、进入linux对应ant路径下修改build.xml文件部分参数内容,改成Docker容器的对应文件所在路径。注:阿里云的端口需要映射到容器端口,获取阿里云服务器地址作为tcp服务的监听开启地址。
6、命令行启动项目
6.1、Docker命令参考:
1、打包docker images: docker build -t 后端jar包名 .
2、将镜像放到容器中运行 :docker run -d -p port1:port2 后端jar包名
3、docker日志:docker logs -f -t --since=“2022-02-28” --tail=500 容器id
4、镜像id:docker images | grep 后端jar包名
5、容器id:docker ps -a
6、停服务:docker stop 容器id
7、删除容器:docker rm容器id
8、删除镜像:docker rmi 镜像id
6.2、项目启动成功后,访问接口进行代码分支覆盖,进入【build.xml所在bin目录】。
ant dump、ant report,出现 BUILD SUCCESS标志,代码覆盖率文件生成成功。
7、获取覆盖率报告
将report整个文件下载到本地,进入jacoco-0.8.6的target文件夹,生成jacoco.exec文件,report为最终生成的覆盖率报告。双击index.html,查看代码覆盖率报告。