当前位置:网站首页>Quickly use Jacobo code coverage statistics
Quickly use Jacobo code coverage statistics
2022-07-07 07:58:00 【Wu_ Candy】
brief introduction
Jacoco Is an open source coverage tool .
Jacoco Can be embedded into Ant 、Maven in , And provides EclEmma Eclipse plug-in unit , You can also use JavaAgent Technical monitoring Java Program .
Many third-party tools provide access to Jacoco Integration of , Such as sonar、Jenkins etc. .
Today's sharing environment is :
k8s+jenkins Built , It involves in node Generated in the container of the node machine jacoco.exec file , Then copy it to the node machine , Then from the node machine jacoco.exec File copy to jenkins In the code base of , Used to generate reports .
Operation steps
**Step1:** Introduce the corresponding jar To the directory of application services , And modify the startup script of the application service that needs to be monitored
The following is in jenkins The corresponding application service deployment script is adjusted
echo ' cd /opt/ wget http://192.168.214.100:7777/jacoco/tools/jacocoagent.jar # Here a siampleHttp service , Used to get jar package wget http://192.168.214.100:7777/jacoco/tools/jacocoant.jar wget -O buildexec.xml http://192.168.214.100:7777/jacoco/buildexec/build.xml wget http://192.168.214.100:7777/jacoco/tools/cron.sh sh cron.sh& # See... Here step2 Script edited in sed -i "s#exec java#exec java -javaagent:/opt/jacocoagent.jar=includes=*,output=tcpserver,port=8044,address=127.0.0.1 -Xverify:none -javaagent:/opt/skywalking-agent/skywalking-agent.jar #g" /opt/mt/bin/startup.sh && cd /opt/mt/ && dos2unix -k start.sh && cd /opt/mt/bin/ && dos2unix -k startup.sh && sh startup.sh '> ./start.sh
Step2: It is used to generate jacoco.exec
this jacoco.exec The file is one generated by the fetched code execution file exec file , This file is just Step1 A script file required in .
[[email protected] tools]# more cron.sh
while true;do ant dump -buildfile buildexec.xml;sleep 60;done
Step3: stay jenkins Pull the source code , The generated jacoco.exec Copy the file , Then generate the final execution report
Here is one jenkins job
cd ../test-deploy
wget -O buildreport.xml http://192.168.214.100:7777/jacoco/buildreport/build_test_model.xml
wget -nc http://192.168.214.100:7777/jacoco/tools/jacocoant.jar
wget -nc http://192.168.214.100:7777/jacoco/tools/dlexec.sh
sh dlexec.sh testqyd test-model # Detailed see step4
ant report -buildfile ./buildreport.xml # Generate executed reports
open site:http://192.168.214.100:7777/jacoco/report/testqyd/test-model/jacocoReport/ # Open the report
Step4: from docker In order to get jacoco.exec file , And then on jenkins Extract the source code directory
[[email protected]]# more dlexec.sh
platformname=$1
projectname=$2
echo " ############################################# # from node Node machine download jacoco.exec File execution script # ############################################# "
case $# in
0)
echo ""
;;
1)
ssh [email protected] "kubectl get pods -n $platformname -o wide"
;;
2)
pnip=`ssh 192.168.214.50 "kubectl --kubeconfig=/etc/kubernetes/kubelet.kubeconfig get pods -n $platformname -o wide|grep $projectname|awk '{print \\$7}'|head -1"`
if [ $pnip == '192.168.214.55' ];then
pnip='[email protected]'
rqid=`ssh $pnip "docker ps |grep $platformname/$projectname|awk '{print \\$1}'|head -1"`
ssh $pnip "docker cp $rqid:/opt/jacoco.exec /opt/test/jacoco.exec"
scp $pnip:/opt/test/jacoco.exec ./
elif [ $pnip == '192.168.214.56' ];then
pnip='[email protected]'
rqid=`ssh $pnip "docker ps |grep $platformname/$projectname|awk '{print \\$1}'|head -1"`
ssh $pnip "docker cp $rqid:/opt/jacoco.exec /opt/test/jacoco.exec"
scp $pnip:/opt/test/jacoco.exec ./
else
echo "not found!"
fi
;;
esac
Jenkins The execution effect diagram is shown in the following figure :

Welcome to your attention : The way of immeasurable testing official account , reply : Claim resources
Python+Unittest frame API automation 、
Python+Unittest frame API automation 、
Python+Pytest frame API automation 、
Python+Pandas+Pyecharts Big data analysis 、
Python+Selenium frame Web Of UI automation 、
Python+Appium frame APP Of UI automation 、
Python Programming learning resources dry goods 、
Vue Front end component framework development 、
Resources and code Free ~
contain : Data analysis 、 big data 、 machine learning 、 Test Development 、API Interface automation 、 Test operation and maintenance 、UI automation 、 Performance testing 、 code detection 、 Programming technology, etc .
WeChat search official account : The way of immeasurable testing , Add the attention , Let's grow together !
边栏推荐
- [performance pressure test] how to do a good job of performance pressure test?
- 今日现货白银操作建议
- 2022焊工(初级)判断题及在线模拟考试
- Visualization Document Feb 12 16:42
- Thinkcmf6.0安装教程
- Cnopendata list data of Chinese colleges and Universities
- Qt学习26 布局管理综合实例
- Button wizard collection learning - mineral medicine collection and running map
- pytest+allure+jenkins安装问题:pytest: error: unrecognized arguments: --alluredir
- [P2P] local packet capturing
猜你喜欢

Cnopendata American Golden Globe Award winning data

【数字IC验证快速入门】17、SystemVerilog学习之基本语法4(随机化Randomization)

Numbers that appear only once

微信小程序基本组件使用介绍

buuctf misc USB

Qt学习26 布局管理综合实例
![[2022 actf] Web Topic recurrence](/img/e4/ab9a1771489d751ee73a79f151d374.png)
[2022 actf] Web Topic recurrence

【webrtc】m98 screen和window采集

2022制冷与空调设备运行操作复训题库及答案

Introduction to basic components of wechat applet
随机推荐
芯片 設計資料下載
Info | webrtc M97 update
Detailed explanation of uboot image generation process of Hisilicon chip (hi3516dv300)
有 Docker 谁还在自己本地安装 Mysql ?
json 数据展平pd.json_normalize
2022制冷与空调设备运行操作复训题库及答案
Open source ecosystem | create a vibrant open source community and jointly build a new open source ecosystem!
CentOS7下安装PostgreSQL11数据库
解决问题:Unable to connect to Redis
2022 simulated examination question bank and online simulated examination of tea master (primary) examination questions
[Matlab] Simulink 自定义函数中的矩阵乘法工作不正常时可以使用模块库中的矩阵乘法模块代替
Use and analysis of dot function in numpy
Leetcode 40: combined sum II
Button wizard collection learning - mineral medicine collection and running map
Cnopendata American Golden Globe Award winning data
misc ez_ usb
Most elements
今日现货白银操作建议
The charm of SQL optimization! From 30248s to 0.001s
芯片 设计资料下载