ubuntu20.04 安装 sonarqube8.9 及 C++ 插件 sonar-cxx 静态代码检测(一)

查看sonarqube 与sonar-cxx 兼容矩阵,必须是TLS 版本的 sonarqube 才能使用 sonar-cxx
Compatibility Matrix · SonarOpenCommunity/sonar-cxx Wiki · GitHub

 选择安装  sonarqube8.9  +  sonar-cxx V2.0.6

一、 Ubuntu20.04 安装 sonarqube8.9

1. 创建用户sonar

#useradd -r -m -s /bin/bash sonar
#passwd sonar

2. 系统环境配置

sudo vim /etc/sysctl.conf
# 添加如下内容
vm.max_map_count=262144
# 生效
sudo /sbin/sysctl -p
sudo vim /etc/security/limits.conf
# 添加下面配置
* soft nofile 65536
* hard nofile 131071
* soft nproc 65536
* hard nproc 65536

3. 安装JAVA 虚拟机 和数据库 postgresql
Prerequisites and Overview | SonarQube Docs  查看 sonarqube8.9 依赖哪些包

这里选择安装openjdk11 和PostgreSQL12 

3.1 安装openjdk11
从官网下载jdk-11.0.13_linux-x64_bin.tar.gz 并解压至/usr/local目录下
在 /home/sonar/.bashrc 末尾添加 以下环境变量

​​​​​​​export JAVA_HOME=/usr/local/jdk-11.0.13
export CLASSPATH=.:${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH  

配置 /etc/environment 将/usr/local/jdk-11.0.13/bin 添加进PATH 

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/jdk-11.0.13/bin"

重新登陆 控制台  查看java版本

#java -version
​​​​​​​java version "11.0.13" 2021-10-19 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.13+10-LTS-370)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.13+10-LTS-370, mixed mode)

3.2 安装  PostgreSQL11  (Sonarqube8.9 安装PostgreSQL12 版本实测不行,9.2版本可安装PostgreSQL12  ,但 sonar-cxx 针对Sonarqube9.2没有稳定版本)

安装步骤可参考
ubuntu20.04 安装 配置 postgresql_为了嗯哼的博客-CSDN博客

#sudo apt-get install postgresql-11

创建 用户名 postgres 及数据库 testdbpost ,密码为123456

sudo -u postgres psql
postgres=#alter user postgres with password '123456';
postgres=#create database testdbpost owner postgres;
postgres=#grant all privileges on database testdbpost to postgres;
postgres=#\q

修改 PostgreSQL11  的配置 

#sudo vim /etc/postgresql/11/main/postgresql.conf   
listen_addresses = '*'
password_encryption = scram-sha-256             # md5 or scram-sha-256

#sudo vim /etc/postgresql/11/main/pg_hba.conf
host    all             all             127.0.0.1/32            scram-sha-256
host    all             all             0.0.0.0/0               scram-sha-256

PostgreSQL11  服务重启

#开机运行
​​​​​​​sudo systemctl enable postgresql.service

sudo systemctl restart postgresql.service

现在可以远程登陆 PostgreSQL11

#psql -U 用户名   -h 主机地址
#psql -U postgres -h 127.0.0.1

4. 安装 Sonarqube
4.1  下载 sonarqube-8.9.6.50800.zip 并解压 ​​​​​​​
 从  https://binaries.sonarsource.com/Distribution/sonarqube/ 下载sonarqube-8.9.6.50800.zip

从root用户切换sonar
sudo su sonar
$cd /home/sonar
$mkdir Sonarqube
$cd Sonarqube
解压sonarqube-8.9.6.50800.zip 至sonar 的主目录
$unzip sonarqube-8.9.6.50800.zip

修改 conf/sonar.properties

# postgres 数据库的用户名 123456 密码
sonar.jdbc.username=postgres
sonar.jdbc.password=123456
#postgres 数据库的用户名
sonar.jdbc.url=jdbc:postgresql://localhost:5432/postgres
sonar.web.host=0.0.0.0

修改conf/wrapper.conf

wrapper.java.command=/usr/local/jdk-11.0.13/bin/java

启动   sonar
进入bin/linux-x86-64 目录 可在 ../../log/ 目录下看启动的日记
 

$./sonar.sh start

停止 sonar

$./sonar.sh stop

查看运行状态

$./sonar.sh status

在浏览器中输入火狐浏览器中输入 127.0.0.1:9000  登陆  sonarqube
也可以在windows 的浏览器中输入 虚拟机的IP:9000 登陆 sonarqube
用户名 密码 默认是 admin admin
第一登陆需要更新密码

也可以创建服务让sonarqube 开机启动 
 创建 文件  /lib/systemd/system/sonar.service

[Unit]
Description=SonarQube service
After=syslog.target network.target
 
[Service]
Type=forking
 
ExecStart=/home/sonar/Sonarqube/sonarqube-8.9.6.50800/bin/linux-x86-64/sonar.sh start
ExecStop=/home/sonar/Sonarqube/sonarqube-8.9.6.50800/bin/linux-x86-64/sonar.sh stop
 
User=sonar
Group=sonar
Restart=always
 
LimitNOFILE=65536
LimitNPROC=4096
 
[Install]
WantedBy=multi-user.target

设置开机启动

systemctl enable sonar

开启服务

systemctl restart sonar

5. 安装中文插件

Releases · xuhuisheng/sonar-l10n-zh · GitHub 下载 sonar-l10n-zh-plugin-8.9.jar
并将sonar-l10n-zh-plugin-8.9.jar放置  extensions/plugins 目录下 ,然后重启服务 即可看到漂亮的中文界面.
注意:有些浏览器默认是英文,需要改为中文才可以浏览. Ubuntu 火狐浏览器按以下步骤更改

重启浏览器器,重新登陆 sonarqube 即可以看到中文界面了


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值