Linux环境下 sonar、sonar-scanner、cppcheck配置并汉化

该文指导如何在Linux环境下安装SonarQube,包括JavaJDK、Chrome浏览器、cppcheck的安装与配置,以及SonarQube插件的添加。同时,提供了启动脚本和自动化分析项目的脚本,最后提到了SonarQube的汉化方法。
摘要由CSDN通过智能技术生成

所需安装包以及插件

我的文件夹如下,文件最好按我的方式存放,以免后面修改路径

下载文件并复制到Linux环境

下载以上所有文件,下载链接:

链接:https://pan.baidu.com/s/1WUYqFg1MEqVEzbb_sn49Ig

提取码:6q51

也可以直接去官网下载,下载后直接从Windows系统将文件拖入虚拟机,将文件复制到Linux环境下。

安装 java-jdk11

SonarQube 需要 Java 环境,JDK 已经包含在上面下载的文件夹里面,在projects目录下打开终端,执行如下命令安装:

sudo dpkg -i jdk-11.0.17_linux-x64_bin.deb

安装结束后还要配置Java环境变量,在终端输入vim ~/.bashrc进入bashrc修改环境变量。在末尾输入一下内容:

export JAVA_HOME=/usr/lib/jvm/jdk-11  
export JRE_HOME=${JAVA HOME}
export CLASSPATH=.:${JAVA_HOME}/lib:$
export PATH=S{JAVA_HOME}/bin:$PATH

注意第一行/usr/lib/jvm/jdk-11 是jdk的安装路径,要根据自己虚拟机中jdk的实际安装位置进行修改,修改完成后输入source ~/.bashrc。

安装chrome

由于sonarqube平台需要使用chrome打开,所以这里还有安装chrome,同样在projects目录下打开终端,执行如下命令安装:

sudo dpkg-i google-chrome-stable_107.0.5304.121-1_amd64.deb

配置sonar-cxx-plugin-2.1.0.349和sonar-cnes-report-4.1.3插件

将这两个jar包存放到sonarqube文件夹下的extensions/plugins文件夹下,再重启sonarqube即可。

安装cppcheck

解压cppcheck压缩包,进入cppcheck目录,执行make installl,执行结束后会在文件夹下生成一个可执行文件cppcheck

执行vim ~/.bashrc进行环境变量配置,在末尾输入如下信息然后保存退出,退出后执行source ~/.bashrc命令

export PATH=$PTAH:/home/nfs/project/cppcheck-2.9

这里的路径是cppcheck可执行文件的路径

测试cppcheck

安装完成后,在cppcheck-2.9目录下随便新建一个bad.c文件,执行命令

cppcheck bad.c

有图示结果说明配置成功

编写脚本

编写如下两个脚本,分别用于启动sonarqube服务器和扫描文件

run-sonarqube-web.sh

#!/bin/bash
#export PATH="$PWD/bin:$PATH"

SHELL_DIR=$(cd $(dirname $0); pwd)

sonar="$SHELL_DIR/sonarqube-9.8.0.63668/bin/linux-x86-64/sonar.sh"

$sonar console

sonar="$SHELL_DIR/sonarqube-9.8.0.63668/bin/linux-x86-64/sonar.sh"是sonarqube启动脚本的路径。其中$SHELL_DIR表示当前文件夹,也就是现在所在的project文件夹。

analyse-project.sh

#!/bin/bash
#export PATH="$PWD/bin:$PATH"

SHELL_DIR=$(cd $(dirname $0); pwd)

PROJECT_DIR=$1
PROJECT_KEY=$2
PROJECT_TOKEN=$3

scanner="$SHELL_DIR/sonar-scanner-4.7.0.2747-linux/bin/sonar-scanner"
cppcheck="$SHELL_DIR/cppcheck-2.9/cppcheck"

Cd $PROJECT_DIR

$cppcheck -j4 --xml --xml-version=2./2> cppcheck-report.xml

#sonar-scaner set max memory (default 4G)
export SONAR_SCANNER_OPTS="-Xmx4096m"
$scanner -X\
    -Dsonar.verbose=true\
    -Dsonar.projectKey=SPROJECT_KEY\
    -Dsonar.login=SPROJECT_TOKEN\
    -Dsonar.cxx.file.suffixes=.cxx,.cpp,.cc,.C,.hxx,.hpp,.hh,.h\
    -Dsonar.cxx.cppcheck.reportPaths=cppcheck-report.xml

scanner="$SHELL_DIR/sonar-scanner-4.7.0.2747-linux/bin/sonar-scanner"

cppcheck="$SHELL_DIR/cppcheck-2.9/cppcheck"

上面两个路径分别是sonar-scanner和cppcheck所在的路径。

启动脚本

输入以下命令:

./run-sonarqube-web.sh

脚本运行结束以后在chrome访问http:.//localhost:9000,登录sonarqube,默认用户名admin,密码admin。

分析程序

先在sonarqube服务器新建项目

创建后选择 local 模式

会得到一个项目 Token,记住它

使用自动化脚本 analyse-project.sh 分析 指定程序,命令如下:

./analyse-project.sh<项目路径><SonarQube项目名称><SonarQube项目token>

分析结束后可以在网站上看分析结果

可以生成 DOCX 格式的报告。

测试

这里以cppcheck-2.9/samples目录下的项目为例,先在sonar服务器上新建项目erase(项目名随便),按照上面的步骤得到token,执行如下所示的命令

等待结束后服务器上面会出现如下结果

说明测试成功,能正常使用。发现7个问题,点进问题列表如下图:

并且在samples文件夹下面生成了一个cppcheck-report.xml。内容如下:

注意:xml文件里面显示的内容是由analyse-project.sh脚本控制的,脚本14行

只显示error信息:

$cppcheck -j4 --xml --xml-version=2./2> cppcheck-report.xml

显示所有信息:

$cppcheck -j4 --xml --xml-version=2 --enable=all ./2> cppcheck-report.xml

sonar汉化

汉化包下载地址:https://gitcode.net/mirrors/sonarqubecommunity/sonar-l10n-zh?utm_source=csdn_github_accelerator

汉化包在我的我网盘链接中也可以下载。

下载和自己sonarqube版本对应的汉化包jar包,然后直接拖入虚拟机,再存放到sonarqube文件夹下的extensions/plugins文件夹下,再重启sonarqube即可。

汉化后的效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值