测试左移——代码审计SonarQube 平台搭建

📝 面试求职: 「面试试题小程序」内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)

📝 职场经验干货:

软件测试工程师简历上如何编写个人信息(一周8个面试)

软件测试工程师简历上如何编写专业技能(一周8个面试)

软件测试工程师简历上如何编写项目经验(一周8个面试)

软件测试工程师简历上如何编写个人荣誉(一周8个面试)

软件测试行情分享(这些都不了解就别贸然冲了.)

软件测试面试重点,搞清楚这些轻松拿到年薪30W+

软件测试面试刷题小程序免费使用(永久使用)


01 sonarqube代码分析技术体系

代码分析工具

IDE 辅助功能

xcode、android studio

阿里巴巴 java 开发手册 ide 插件支持

独立的静态分析工具

综合性的代码分析平台

sonarqube 功能强大,数据分析全面

代码分析技术架构

代码静态检查

1、代码分析:通过分析语法树和源代码,检查代码规范

lint 系列 style 系列 pmd

antlr

2、编译器分析:借助于编译器获得代码关系

字节码静态分析

分析 jar、war、dex 等格式的文件,代表工具:findbugs asm

语法树分析技术

在这里插入图片描述

源代码

字节码分析技术 Java 与 Kotlin 源代码

在这里插入图片描述

SonarQube

代码质量和安全的领先产品

17种语言的静态代码分析

检测Bug和漏洞

查看安全热点

跟踪代码气味并修复您的技术债务

代码质量度量和历史

CI/CD集成

可扩展,具有50多个社区插件

在这里插入图片描述

代码分析主要指标

在这里插入图片描述

代码分析细节指标

在这里插入图片描述

度量指标总结

可靠性 bugs

可维护性 code smells

安全性 Vulnerabilities Security Hotspots

覆盖率 Coverage Unit Tests

代码重复

代码规模 Lines of Code Comments rate

复杂度 Cyclomatic Complexity Cognitive Complexity

在这里插入图片描述

案例分析

1、独立分析平台使用案例

在这里插入图片描述

2、持续集成使用案例

在这里插入图片描述

3、Sonarqube经典案例分析

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

目前大部分公司都采用了 sonarqube,它的概念和技术指标已经成为行业事实上的标准

02 代码审计SonarQube平台搭建

sonarqube 技术架构

在这里插入图片描述

正式环境部署

1.创建网络

在这里插入图片描述

2.创建数据库容器实例

e POSTGRES_USER=sonarqube:设置数据库用户名

-e POSTGRES_PASSWORD=sonarqube:设置数据库密码

-e PGDATA=/var/lib/postgresql/data/pgdata:指定数据库的位置

-v $PWD/postgresql_data:/var/lib/postgresql/data:把数据映射到当前目录下的postgresql_data中:即使容器销毁了,重新创建一个,数据不会丢

在这里插入图片描述

3、创建sonarqube容器实例

创建sonarqube容器实例,可以通过-Xms4g -Xmx4g增加下ES的堆内存大小

mac环境需要加 -e SONAR_SEARCH_JAVAADDITIONALOPTS=“-Dbootstrap.system_call_filter=false”

platform linux/x86_64:在mac上需要加这条命令

-e SONARQUBE_JDBC_USERNAME=sonarqube

-e SONARQUBE_JDBC_PASSWORD=sonarqube \:设置数据库的用户名和密码

-v $PWD/sonarqube_data:/opt/sonarqube/data

-v $PWD/sonarqube_extensions:/opt/sonarqube/extensions

-v $PWD/sonarqube_logs:/opt/sonarqube/logs \:宿主机和容器映射

在这里插入图片描述

4、检查容器启动成功

[root@mylinux1 ~]# docker ps
CONTAINER ID   IMAGE                       COMMAND                   CREATED              STATUS              PORTS                                                                                  NAMES
de81187b3504   sonarqube:8.9.2-community   "bin/run.sh bin/sona…"   About a minute ago   Up About a minute   0.0.0.0:9000->9000/tcp, :::9000->9000/tcp, 0.0.0.0:9092->9092/tcp, :::9092->9092/tcp   sonarqube_hogwarts
532e9ed4212d   postgres                    "docker-entrypoint.s…"   9 minutes ago        Up 9 minutes        5432/tcp                                                                               sonarqube_postgres
60ed0289df5b   registry:2                  "/entrypoint.sh /etc…"   4 months ago         Up 42 hours         0.0.0.0:5000->5000/tcp, :::5000->5000/tcp  

5、环境配置

默认账号 admin:admin

生成 token

划分组与用户

登录页面

在这里插入图片描述

首页

在这里插入图片描述

projects:项目列表(大部分项目是自动创建)

issues:发现的问题

rules:制定的规则

quality profiles::定制规则

quality gates:质量门禁

administration:管理

6、环境变量设置

为了方便命令复用,后面命令中可变内容使用环境变量来表示 $SQ_HOST

在这里插入图片描述


最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取 【保证100%免费】
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值