当前位置: 首页 > article >正文

gitlab部署及整合Jenkins持续构建(四)sonarqube9.9安装和使用(一步一坑)

文章目录

  • postgresql13.0安装
    • 1、配置postgresql数据库
    • 2、进入postgresql创建数据库
  • 代码质量管理平台--sonarqube安装
    • 1、前置依赖+下载
    • 2、安装unzip并解压sonarqube并移动到`/usr/local`:
    • 3、修改sonarqube相应的配置
    • 4、新增用户,并将目录所属权赋予该用户:
    • 5、启动:
    • 6、界面访问+登录
    • 7、在界面产生令牌+sonarqube分析项目代码
  • 可能出现的问题
    • 关于sonarqube安装的前置问题
    • sonarqube启动不起来/启动后马上关闭
    • 执行`mvn sonar:sonar \`报错`BUILD FAILURE`

postgresql13.0安装

官网给出的各种环境下安装postgresql步骤:https://www.postgresql.org/download/

CentOS7+jdk17为例:
在这里插入图片描述

sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

sudo yum install -y postgresql13-server

sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
sudo systemctl enable postgresql-13
sudo systemctl start postgresql-13

1、配置postgresql数据库

yum安装完,默认的pgsql-13的数据目录在/var/lib/pgsql/13/data/
除非/var目录可用空间很大,否则需要修改数据目录

#创建数据目录&修改属主属组
mkdir -p /data/postgresql-13.0/
chown postgres: -R /data/postgresql-13.0/
 
#初始化pgsql(指定数据目录)
sudo -u postgres /usr/pgsql-13/bin/initdb --encoding=UTF-8 --username=postgres --pgdata=/data/postgresql-13.0/data
#--encoding 字符集
#--username 启动用户
#--pgdata 数据目录(数据目录如已存在会报错)

在这里插入图片描述

记录配置文件路径,修改listen_addresses = '*',postgresql启动参数

vim /data/postgresql-13.0/data/postgresql.conf

在这里插入图片描述

定义哪些服务器、可以用什么样的方式访问postgresql

vim /data/postgresql-13.0/data/pg_hba.conf   
# 如下,允许所有库被远程连接,需要账密验证
# host     all            all             0.0.0.0/0               md5

在这里插入图片描述

修改service文件(修改数据目录)

vim /usr/lib/systemd/system/postgresql-13.service   #修改后:Environment=PGDATA=/data/postgresql-13.0/data/
systemctl daemon-reload

在这里插入图片描述

#启动postgresql-13
systemctl start postgresql-13

2、进入postgresql创建数据库

在前面已经修改认证文件/var/lib/pgsql/data/pg_hba.conf能够使用默认用户postgres不需要密码进入数据库

psql -U postgres   

在这里插入图片描述

创建新用户

#新建用户sonar,密码xxxxxx
create user sonar with password '自定义密码';
 
#创建数据库sonar并指定owner为sonar
create database sonar with owner sonar;
 
#授权sonar用户在数据库sonar拥有所有权限
grant all on database sonar to sonar;

使用\q命令退出数据库,设置登录数据库需要密码:前三个trust修改为md5

vim /data/postgresql-13.0/data/pg_hba.conf

在这里插入图片描述

代码质量管理平台–sonarqube安装

1、前置依赖+下载

postgresql、sonarqube(sonarqube6.6以上版本不支持MySQL)
下载地址:https://www.sonarsource.com/products/sonarqube/downloads/historical-downloads/
在这里插入图片描述

2、安装unzip并解压sonarqube并移动到/usr/local

yum install unzip​
unzip sonarqube-9.9.0.65466.zip​
mv sonarqube-9.9.0.65466 /usr/local/

3、修改sonarqube相应的配置

vim /usr/local/sonarqube-9.9.0.65466/conf/sonar.properties
修改:
1.sonar.jdbc.username=sonar
2.sonar.jdbc.password=xxx​x
3.sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonar​
4.sonar.web.context=/sonar​
5.sonar.web.host=0.0.0.0
6.sonar.web.javaOpts=-Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError
7.sonar.web.port=9000
8.sonar.ce.javaOpts=-Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError
9.sonar.search.javaOpts=-Xmx512m -Xms512m -XX:MaxDirectMemorySize=256m -XX:+HeapDumpOnOutOfMemoryError
10.sonar.search.port=9001
11.sonar.path.data=data
12.sonar.path.temp=temp
在这里插入图片描述
在这里插入图片描述

4、新增用户,并将目录所属权赋予该用户:

useradd sonar
chown -R sonar:sonar sonarqube-9.9.0.65466

5、启动:

#启动
sudo -u sonar /usr/local/sonarqube-9.9.0.65466/bin/linux-x86-64/sonar.sh start
#停止
sudo -u sonar /usr/local/sonarqube-9.9.0.65466/bin/linux-x86-64/sonar.sh stop
#重启
sudo -u sonar /usr/local/sonarqube-9.9.0.65466/bin/linux-x86-64/sonar.sh restart

在这里插入图片描述

6、界面访问+登录

http://http://10.27.201.84:9000/sonar​
开启防火墙:vim /etc/sysconfig/iptables新增9000端口​

登录,默认账户和密码都是admin
在这里插入图片描述

登陆之后需要修改密码
在这里插入图片描述

7、在界面产生令牌+sonarqube分析项目代码

并将项目代码使用以下命令进行提交由sonarqube进行分析,完成后,查看相应的分析结果
在这里插入图片描述

在git中输入以下代码,-Dsonar.login=后面的值是在sonarqube中生成的

mvn sonar:sonar \
  -Dsonar.host.url=http://10.27.201.84:9000/sonar \
  -Dsonar.login=squ_cde46383d52c8f82f6607e5ebe134384fa2a725a

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

之后就可以点进去详细查看bug等信息:
在这里插入图片描述

可能出现的问题

关于sonarqube安装的前置问题

sonarqube官方文档
里面明确写出了sonarqube各个版本 对应的 jdk版本支持的数据库
一定要严格按照官网给出的支持情况去选择对应的版本去配置,否则一定会报错!!!
建议使用新版,不要因为postgresql数据库没有使用过去选择旧版,问题会层出不穷!!!

sonarqube启动不起来/启动后马上关闭

在这里插入图片描述
在安装路径下的logs文件夹中,如果运行成功应该会有如图几个日志,如果没有成功运行,点开nohup.log、sonar.log文件去看报错信息。

常见的几个原因:
1、文件的执行权限问题
sonarqube不支持root身份启动运行,只能创建一个用户去启动,需要给sonarqube的安装文件给新用户设置权限,按照本文操作给最外层的sonarqube9.9.0.65466文件设置权限后内层的文件也应该都是修改完的状态,但不排除个别文件没有修改成功,按照日志文件的报错内容找到该文件,重新执行chowm命令完成权限分配,重启sonarqube即可。

2、elasticsearch进程的最大文件描述符
日志中显示max file descriptors [4096] for elasticsearch process is too low,elasticsearch进程的最大文件描述符从4096增加到至少65535,可以在/etc/security/limits.conf文件中添加以下行:
A hard nofile 65536
A soft nofile 65536
其中A代表启动sonarqube的用户

执行mvn sonar:sonar \报错BUILD FAILURE

这种:
在这里插入图片描述
这种:
在这里插入图片描述
IDEA打开项目,执行cleancompile,再次执行mvn sonar:sonar \


http://www.kler.cn/a/15835.html

相关文章:

  • 《应用数学学报》
  • java 数组 拼接 详解
  • 前端无感刷新token
  • 六、volatile
  • 第三百二十三节 Java线程教程 - Java同步器
  • 贴代码框架PasteForm特性介绍之markdown和richtext
  • 使用CXF调用WSDL
  • 如何高效的学习接口自动化测试?从零开始学习接口自动化测试:选择合适的学习资源和编程语言
  • 电脑硬盘检测怎么操作?如何检查硬盘的健康情况?
  • Dockerfile样例
  • d3.js学习笔记①创建html文档
  • 【网络】网络基础协议概念IPMAC地址
  • Blender 插件UvSquares
  • 电子数据取证之网站分析和重构基础
  • 【tippecanoe】Linux环境tippecanoe部署
  • 2022 gdcpc题解(10/13)
  • Battle Symphony
  • Terraform
  • autosar软件分层架构组成--汽车电子
  • java中设计模式
  • dpdk安装在虚拟机上如何安装
  • 数字化转型导师坚鹏:数字化转型背景下的保险公司人力资源管理
  • 【SpringBoot系列】接收前端参数的几种方式
  • 音视频 FFmpeg
  • SpringBoot事务管理-5个面试核心类源码刨析
  • 【源码解析】SpringBoot日志系统源码分析