SonarQube是一种自动代码审查工具,用于检测代码中的错误、漏洞和代码异味。它可以与现有的工作流程集成,以支持跨项目分支和拉取请求的持续代码检查
openjdk:无论是Java运行时环境(JRE)还是Java开发工具包(JDK)都可以。要求java11及以上。
SonarQube在7.0以上就不支持MySQL数据库,这里使用的PostgreSQL数据库。(PostgreSQL数据库官网地址:PostgreSQL: The world's most advanced open source database),安装步骤如下:
- 这里我们安装postgresql13,先导入对应yum源
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
- 使用yum命令安装,apt-get同样:
yum install -y postgresql13-server
- 初始化数据库并启用自动启动
postgresql使用/usr/pgsql-13/bin/postgresql-13-setup initdb \ systemctl enable postgresql-13 \ systemctl start postgresql-13
- 因为我们数据库是为了sonarqube使用,所以我们需要修改配置文件
vim /var/lib/pgsql/10/data/pg_hba.conf
- 将 peer ident 改为 trust ,改了6行:
- 创建用户及数据库
su - postgres
psql
(如果你修改了端口的话需要使用:psql -p xxx(端口号))
CREATE DATABASE sonarqube TEMPLATE template0 ENCODING 'utf8' ;
create user sonarqube;
alter user sonar with password 'sonar';
alter role sonarqube createdb;
alter role sonarqube superuser;
alter role sonarqube createrole;
alter database sonarqube owner to sonarqube;
\q
exit
SonarQube安装前的依赖
运行SonarQube 的唯一先决条件是在您的机器上安装 Java(Oracle JRE 11 或 OpenJDK 11)。因此需要确保server服务器上安装了Java(在此不做介绍)
- 使用命令java -version/javac -version查看对应的版本
- 安装jdk11:yum install -y java-11-openjdk java-11-openjdk-devel
- 配置环境变量:vim /etc/profile
Ps:不要照抄注意自己版本号和路径是否一致,可以自行百度
- 内核配置:修改/etc/sysctl.conf,在文件末尾加入如下配置
vm.max_map_count=262144
fs.file-max=65536
然后使用sysctl -p 使其生效
- 修改/etc/security/limits.conf 文件,加入以下内容,*号是需要的,*代表所有用户。
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
SonarQube安装步骤如下:
- 在官网下载SonarQube地址:右键打开超链接,去下载对应版本
- 在官网下载Sonar-Scanner (也是官方文档):SonarScanner CLI (sonarsource.com)
- 将压缩包上传至服务器解压,tar命令或者unzip进行解压
- 特别注意sonarqube不能使用root用户启动,所以我们要做下面几步:
- 将你刚刚解压好的文件移动到(自己所需)目录,然后授予权限
mv 解压文件夹 /usr/local/sonarqube
chown -R sonarqube:sonarqube /usr/local/sonarqube/
- 修改配置文件 安装目录/conf/sonar.properties
修改红框中选中的即可,其他不做过多修改
假如你默认路径的java不是jdk11,你还需要修改wrapper.conf核心配置文件,将其中的wrapper.java.command路径改为自己的jdk11绝对路径
完成设置后重启一下虚拟机再启动
- 启动sonarqube
su sonaqube
cd 安装路径/soanrqube/bin/liunx-x86-64/
./sonar.sh start
然后浏览器通过localhost:9000登录
- 默认账号密码都是admin,登录后自行修改。;
Sonarqube Web界面
Tips:如果发现web启动不了,首先先确认下9000端口开没开,开端口和关闭防火墙,你需要选择一个。还是启动不了的情况下,去查看sonarqube目录下的logs目录里的日志文件,查看报错信息,
还有刚刚下载的sonar-scanner插件,解压到所需路径,记得配置环境变量 才能使用
vim /etc/profile
验证使用命令sonar-scanner -X(X大写)
sonar-scanner -X
Sonar插件
C++插件下载网址:GitHub - SonarOpenCommunity/sonar-cxx at cxx-2.0.4
下载完成后,解压文件。进入到sonar的Plugins文件中:sonar的安装目录/extensions/plugins下,然后重启SonarQube。将已经下载好的插件移到此目录下如图 25所示;这是windows的
权限配置
### 如果发现扫描还是没出报告,去sonarqube设置里面,打开SCM设置.
到这里sonarqube所需要的已经配置完毕