linux下安装SonarQube
创始人
2024-06-01 11:15:52
0

目录

      • 1. 准备安装环境
      • 2. 安装postgres数据库
      • 3. 安装SonarQube
      • 4. 使用SonarQube

1. 准备安装环境

这里安装SonarQube的系统环境是Red Hat Enterprise Linux release 8.7 ,然后将jdk的压缩包(jdk-17.0.2_linux-x64_bin.tar.gz)和sonarQube的压缩包(sonarqube-9.9.0.65466.zip)上传到/usr/local/src目录下,
sonarQube官网下载地址:https://www.sonarsource.com/products/sonarqube/downloads/
sonarQube官网文档地址:
https://docs.sonarqube.org/latest/

初始化环境的脚本init.sh,内容如下,执行脚本 sh init.sh 8.7

#!/bin/bash
if [ -z $1 ]then echo '$1 is not exists or is empty'exit
fiecho "[BaseOS]
name=BaseOS
baseurl=https://mirrors.aliyun.com/rockylinux/8/BaseOS/\$basearch/os/
gpgcheck=0
enabled=1
gpgkey=https://mirrors.aliyun.com/rockylinux/RPM-GPG-KEY-ANOLIS[AppStream]
name=AppStream
baseurl=https://mirrors.aliyun.com/rockylinux/8/AppStream/\$basearch/os/
gpgcheck=0
enabled=1
gpgkey=https://mirrors.aliyun.com/rockylinux/RPM-GPG-KEY-ANOLIS[PowerTools]
name=PowerTools
baseurl=https://mirrors.aliyun.com/rockylinux/8/PowerTools/\$basearch/os/
gpgcheck=0
enabled=1
gpgkey=https://mirrors.aliyun.com/rockylinux/RPM-GPG-KEY-ANOLIS[Extras]
name=Extras
baseurl=https://mirrors.aliyun.com/rockylinux/8/extras/\$basearch/os/
gpgcheck=0
enabled=1
gpgkey=https://mirrors.aliyun.com/rockylinux/RPM-GPG-KEY-ANOLIS
" > /etc/yum.repos.d/online.repo
echo 'vers:'$1
sed -i "s/8/$1/g" /etc/yum.repos.d/online.repo
yum install -y vim
yum install -y unzip

紧接着设置系统参数vm.max_map_count

vim /etc/sysctl.conf
修改如下内容
vm.max_map_count=262144
查看修改的参数是否生效,如果生效显示如下
sysctl -p

在这里插入图片描述
然后设置配置jdk

先解压
tar -zxvf  /usr/local/src/jdk-17.0.2_linux-x64_bin.tar.gz
添加环境变量
echo 'export JAVA_HOME=/usr/local/src/jdk-17.0.2' >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
生效环境变量
source /etc/profile
检测环境变量是否生效
java -version

在这里插入图片描述

2. 安装postgres数据库

这里就不说明怎么安装postgres数据库,具体安装步骤可以参考这篇博客:https://blog.csdn.net/u010080562/article/details/127349394

3. 安装SonarQube

这里SonarQube是一个java的web项目,依赖elasticsearch和postgres才能运行,因为elasticsearch不能使用root账户运行,所以现在创建用户

创建用户
useradd sonar
echo 'sonar' | passwd --stdin sonar
然后来到/usr/local/src目录解压SonarQube压缩包
unzip sonarqube-9.9.0.65466.zip
然后重命名SonarQube解压后的文件夹名
mv sonarqube-9.9.0.65466 sonarqube
mkdir  /var/sonarqube
将sonarqube文件下的所有内容的属主设置成sonar
chown -R sonar:sonar   /usr/local/src/sonarqube
chown -R sonar:sonar   /var/sonarqube

在这里插入图片描述

切换到sonarqube的conf文件下
cd   /usr/local/src/sonarqube/conf
编辑配置文件sonar.properties,添加如下内容
#sonar运行产生的数据文件和临时文件存放目录
sonar.path.data=/var/sonarqube/data
sonar.path.temp=/var/sonarqube/temp
#访问sonar的IP地址、端口号以及上下文,host就填你部署SonarQube的这台主机或者虚拟机的IP,端口随便定,不要和已有端口冲突就行
sonar.web.host=192.168.225.23
sonar.web.port=8888
sonar.web.context=/
#sonar运行需要连接的postgres参数
sonar.jdbc.username=jamy
sonar.jdbc.password=123456
sonar.jdbc.url=jdbc:postgresql://192.168.227.192:5432/sonarqube?currentSchema=public

在这里插入图片描述

在/usr/local/src/sonarqube/extensions/jdbc-driver目录下创建目录postgresql,用来存放postgresql-42.5.1.jar
cd /usr/local/src/sonarqube/extensions/jdbc-driver
mkdir  postgresql
再把postgresql-42.5.1.jar复制到/usr/local/src/sonarqube/extensions/jdbc-driver/postgresql
cp /usr/local/src/sonarqube/lib/jdbc/postgresql/postgresql-42.5.1.jar  /usr/local/src/sonarqube/extensions/jdbc-driver/postgresql

接下来就来运行sonar

先启动postgres数据库(这个数据库装在本机或是其他虚拟机都可以,只要能连接就行),等会启动sonar会连接数据的
然后切换到sonar用户下
su  sonar
来到sonarqube的bin目录下准备启动
cd /usr/local/src/sonarqube/bin/linux-x86-64
./sonar.sh start
查看启动日志,显示如下图表示启动成功
tail -f /usr/local/src/sonarqube/logs/sonar.log

在这里插入图片描述

4. 使用SonarQube

先关闭防火墙再来访问

浏览器访问地址:192.168.225.23:8888
账户 :admin
密码: admin
首次登录后会要求你修改密码

在这里插入图片描述
在这里插入图片描述
首页是这样的
在这里插入图片描述
如果想要中文显示界面,可以安装中文插件
在这里插入图片描述
继续往下拉,就可以看到这个按钮,点击它
在这里插入图片描述
点击完I understand the risk这个按钮就会出现下面这个界面
在这里插入图片描述
搜索到下面这个插件,点击后面的install来安装插件
在这里插入图片描述
在这里插入图片描述
安装完中文插件,重启SonarQube
在这里插入图片描述
重启完需要重新登录
在这里插入图片描述
现在再看看界面就是中文界面(大体上是中文,有些还是英文的)
在这里插入图片描述
现在看项目啥都没有,需要找个maven项目构建下才能看出效果
在这里插入图片描述
在构建maven项目之前需要再maven的配置文件settings.xml添加点东西

1.在标签里面添加一个profile
sonartrueadmin123456http://192.168.225.23:8888
2.在标签末尾添加这个sonar
3.此时打开一个maven项目构建一下,如下图

在这里插入图片描述
在这里插入图片描述
此时再来刷新SonarQube的项目界面,看看有什么不一样
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
到次就结束了,当然SonarQube也可以整合进jenkins,在Jenkins构建项目时使用SonarQube分析代码,后面有时间再更新这一块。。。

相关内容

热门资讯

中证A500ETF摩根(560... 8月22日,截止午间收盘,中证A500ETF摩根(560530)涨1.19%,报1.106元,成交额...
A500ETF易方达(1593... 8月22日,截止午间收盘,A500ETF易方达(159361)涨1.28%,报1.104元,成交额1...
何小鹏斥资约2.5亿港元增持小... 每经记者|孙磊    每经编辑|裴健如 8月21日晚间,小鹏汽车发布公告称,公司联...
中证500ETF基金(1593... 8月22日,截止午间收盘,中证500ETF基金(159337)涨0.94%,报1.509元,成交额2...
中证A500ETF华安(159... 8月22日,截止午间收盘,中证A500ETF华安(159359)涨1.15%,报1.139元,成交额...
科创AIETF(588790)... 8月22日,截止午间收盘,科创AIETF(588790)涨4.83%,报0.760元,成交额6.98...
创业板50ETF嘉实(1593... 8月22日,截止午间收盘,创业板50ETF嘉实(159373)涨2.61%,报1.296元,成交额1...
港股异动丨航空股大幅走低 中国... 港股航空股大幅下跌,其中,中国国航跌近7%表现最弱,中国东方航空跌近5%,中国南方航空跌超3%,美兰...
电网设备ETF(159326)... 8月22日,截止午间收盘,电网设备ETF(159326)跌0.25%,报1.198元,成交额409....
红利ETF国企(530880)... 8月22日,截止午间收盘,红利ETF国企(530880)跌0.67%,报1.034元,成交额29.0...