研发提交代码到gitlab的测试分支
gitlab触发webhook请求,Jenkins监听到webhook请求,Jenkins通过shell命令部署服务(java -javaagent:jacocoagent.jar -jar 项目.jar)
Jenkins触发sonar扫描、接口&UI主流程场景自动化回归
如果执行后有失败case,测试分支回滚到上一版本,并发送钉钉和邮件通知新提交的代码有问题
如果执行后均通过,发送钉钉和邮件通知测试人员,新版本可以进入测试
在第二天凌晨2点,Jenkins自动执行定时任务收集服务的代码覆盖率情况,通过jacoco的dump和report命令来收集
通过BeautifulSoap来读取各个服务的代码覆盖率,代码大致如下:
from bs4 import BeautifulSoup
# 读取HTML文件内容
with open('/Users/zhangjiangying/Downloads/jacoco-0.8.9/lib/report01/index.html', 'r') as file:
html_content = file.read()
# 使用BeautifulSoup解析HTML内容
soup = BeautifulSoup(html_content, 'html.parser')
# 查找指定的<td>标签
td_tag = soup.find('td', {'id': 'c0', 'class': 'ctr2'})
# 提取<td>标签中的文本内容,转换为字符串
coverage_percentage = str(td_tag.text)
print(coverage_percentage)
结果是86%