当前位置: 首页 > news >正文

sonarqube-代码扫描-1

1、sonarqube-代码扫描

1、sonarqube-代码扫描能干什么?
1)首先第一件事情就是能够静态扫描和分析20个语言以上的项目代码,
比方说我们在这个案例当中,这100万行代码呢,都是由Java开发人员来实现的,那么我们就可以利用这个工具,对100万行的代码进行一个扫描和分析,能够扫描出来,它的一个编码规范怎么样,是否有一些编码或者语法上的一些漏洞,存在的一些隐患,同时呢,他也能够对这个100万行代码当中存在的安全隐患也去进行一个扫描,那么扫描出来之后呢,我们可能也还可以看到的东西就是,这个它的复杂度怎么样,100万行当中它的复杂度如何,比例是多少,有哪些大码是复杂度比较高的,那他的重复度如何,重复度的一个百分比,以及哪些代码是重复的等等等等这些呢,都可以全部都扫描出来,
2)然后,这些对项目代码的扫描结果呢,我们希望有一个统一的管理平台能够呈现
那么sonarqube呢,同时也提供了这样的一个管理平台,能够呈现扫描出来的项目代码它的整体的质量数据,那么这就是我们送的QB能干的事情,当你的公司有十个项目,20个项目,30个项目,有的是用Python实现的,有的是用Java实现的,那么这样的一个平台,它是支持多个语言的项目代码,当然也是支持多项目的代码,全部都会统一的呈现在这个平台上,所以sonarqube是什么呢,其实来讲,第一个他就是代码质量和安全扫描的一个分析平台,能够对我们的代码进行一个扫描,同时能够呈现最终的一个质量数据,那么它是以多维度的方式,去分析这个代码,并且呈现他的一个质量
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、sonarqube-安装

需要依赖jdk17(win安装17没有写)

https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html
tar -zxvf openjdk-17.0.12_linux-x64_bin.tar.gz

确认环境中是否存在java
执行java -version确认是否安装了java
检查是否有相关的rpm包 rpm -qa | grep java
如果有就依次卸载包:rpm -e --nodeps “rpm名称”

mkdir /usr/lib/jvm/
mv jdk-17.0.12/ /usr/lib/jvm/
[root@VM-16-5-centos opt]# export JAVA_HOME=/usr/lib/jvm/jdk-17.0.12
export JAVA_HOME=/usr/lib/jvm/jdk-17.0.12
[root@VM-16-5-centos opt]# export PATH=$JAVA_HOME/bin:$PATH
[root@VM-16-5-centos opt]# source ~/.bashrc
[root@VM-16-5-centos opt]# java -version
openjdk version "11.0.1" 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.1+13)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)

在这里插入图片描述
在这里插入图片描述
win电脑再bin文件夹下的startsonar.bat启动
在这里插入图片描述
汉化:
在这里插入图片描述

mac启动方法:
在这里插入图片描述
win安装postgresql sonar
下载.exe包,然后傻瓜式安装即可,安装对应的目录
在这里插入图片描述
创建用户
在这里插入图片描述
设置密码sonar
在这里插入图片描述
创建数据库
在这里插入图片描述
在这里插入图片描述
配置文件sonar.properties
在这里插入图片描述
重启sonar.bat即可

3、安装sonar-scanner

在这里插入图片描述
在这里插入图片描述
配置文件
在这里插入图片描述

4、扫描java项目

在这里插入图片描述
配置文件
在这里插入图片描述
运行命令
在这里插入图片描述

5、分析

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


http://www.mrgr.cn/news/57324.html

相关文章:

  • 基于知识图的电影推荐系统
  • 【快速上手】使用 Vite 来创建一个 Vue 3项目
  • Git第二章
  • 搭建微信AI机器人
  • nginx子目录部署访问并且刷新不报404
  • 前端将表格页面导出为 PDF 并适配 A4纸张的思路
  • Apache Kyuubi概述——网易数帆(网易杭州研究院)开源
  • C++在实际项目中的应用第一课:游戏开发中的C++
  • segformer的mmcv-full==1.2.7怎么装
  • 软考高级架构师-6.5-NoSQL数据库-超详细讲解+精简总结
  • arp代答观察
  • 驱动开发系列23 - tasklet用法介绍
  • 如何将logism电路转为verilog(一)
  • 【建议收藏】大数据Flink入门专栏-v1.0,配套B站视频教程1小时速通
  • 【MyBatis】MyBatis-config标签详解
  • [COCI2015-2016#7] Prosti
  • 正则中的字符集
  • LeetCode 110. 平衡二叉树
  • 滑动窗口与TCP的缓冲区(buff)的关系
  • 四向车西门子PLC1200脉冲控制伺服与总线型控制方式思考
  • 【排序】快排思想以及例子
  • JavaScript 第30章:综合项目
  • “摄像机”跟随及攻击抖动实现
  • Linux基础IO
  • Android Handler(Looper.getMainLooper()),Kotlin
  • priority_queue (优先级队列的使用和模拟实现)