centos7.9安装SonarQube10.5.1并集成postgresql数据库
centos7.9安装SonarQube10.5.1步骤,SonarQube集成postgresql
一 安装 SonarQube
下载SonarQube:官网下载SonarQube

我下载的是10.5.1版本,需要jdk17(本地项目也要是jdk17的环境,不然使用SonarQube检测代码时会有报错),所以大家需要提前安装jdk17:jdk17下载
把下载后的SonarQube上传到centos里

解压
tar -zxvf sonarqube-10.5.1.90531.zip
移动到/usr/local/es文件夹下
mv onarqube-10.5.1.90531 /usr/local/es
由于sonarqube使用了ES,ES不允许root 用户运行,所以开启前需要创建一个非root 用户,这里新建的用户名是maltose
1)创建 elasticsearch 用户组(先创建组, 再创建用户)
[root@localhost ~]# groupadd elasticsearch
2)创建用户 maltose 并设置密码
[root@localhost ~]# useradd maltose
[root@localhost ~]# passwd maltose
3)# 创建es文件夹,并修改owner为maltose 用户
mkdir -p /usr/local/es
chown -R maltose /usr/local/es
4)用户es 添加到 elasticsearch 用户组
[root@localhost ~]# usermod -G elasticsearch maltose
5)设置sudo权限
#为了让普通用户有更大的操作权限,我们一般都会给普通用户设置sudo权限,方便普通用户的操作
#三台机器使用root用户执行visudo命令然后为es用户添加权限
[root@localhost ~]# visudo
#在root ALL=(ALL) ALL 一行下面,添加maltose 用户 如下:
maltose ALL=(ALL) ALL
#添加成功保存后切换到maltose 用户操作
[root@localhost ~]# su maltose
[maltose@localhost root]$
为了避免报错,切换root用户后,给文件夹赋权限
su root
# maltose:用户名
chown -R maltose /usr/local/es/sonarqube-10.5.1.90531/temp
chown -R maltose /usr/local/es/sonarqube-10.5.1.90531
# 切换会非root用户
su maltose
此时,maltose用户,识别不出java环境,即执行java -version时,是找不到java的,我们切换到maltose用户后,编辑~/.bashrc 文件
vim ~/.bashrc
添加下边两行
export JAVA_HOME=/usr/local/jdk17
export PATH=$JAVA_HOME/bin:$PATH
使其生效:
source ~/.bashrc
至此,使用maltose用户,就可以执行java -version命令了。
进入到SonarQube目录
cd /usr/local/es/sonarqube-10.5.1.90531/bin/linux-x86-64
启动与停止
# 启动
./sonar.sh start
# 停止
./sonar.sh stop
查看日志:
cd /usr/local/es/sonarqube-10.5.1.90531/logs
tail -f nohup.log
浏览器访问:http://192.168.119.132:9000/,用户名密码都是admin

修改密码

进入主页

注意:如果不小心使用root用户启动后,会报错如下:Failed to launch process [ElasticSearch]

此时,就算切换回非root用户,也会继续报错
问题原因: 用root启动过会创建temp目录,该目录为root用户所有,使用自己创建的非root用户启动时就会报错
解决方案:使用root用户修改该文件夹的用户组(temp),让它属于非root的启动用户(自己创建的那个),再次启动就ok了 chown -R sonar:sonar /opt/sonarqube-7.6/temp
su root
# maltose:用户名
chown -R maltose /usr/local/es/sonarqube-10.5.1.90531/temp
chown -R maltose /usr/local/es/sonarqube-10.5.1.90531
su maltose
至此,SonarQube10.5.1配置完毕,项目里可以使用其检查代码规范了
在maven的conf/setting.xml文件里配置
<!--配置SonarQube服务器信息-->
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.login>admin</sonar.login>
<sonar.password>123456789</sonar.password>
<sonar.host.url>http://192.168.119.132:9000</sonar.host.url>
</properties>
</profile>
进入项目根目录,执行:mvn sonar:sonar

在页面查看结果

二 SonarQube集成postgresql数据库
cd /usr/local/es/sonarqube-10.5.1.90531/conf

# 添加数据库信息
vim sonar.properties
添加如下内容
# 数据库需要提前创建好
sonar.jdbc.username=postgres
sonar.jdbc.password=ts12345
# 提前创建好名字为sonarqube的数据库
sonar.jdbc.url=jdbc:postgresql://192.168.119.132:5432/sonarqube?stringtype=unspecified

用内嵌数据的时候ES不配置文件限制也能启动,但是现在使用外部数据库以后,ES启动会报文件限制异常
在root用户下,做如下修改后,切到非root用户启动SonarQube就行了
# su root
# vim /etc/sysctl.conf
vm.max_map_count=655360
# 使sysctl.conf修改生效
# sysctl -p
#vim /etc/security/limits.conf,切换用户的时候生效
* soft nofile 65536
* hard nofile 65536
# 记得切换回非root用户
# su maltose
# 先停止
./sonar.sh stop
# 稍等一分钟后再启动
./sonar.sh start
注意,连接数据库后,登录SonarQube时的用户名密码,又变为原始的admin/admin了,需要再次重新登录修改密码
启动后会自动创建很多表

更多推荐


所有评论(0)