linux搭建SonarQube代码质量平台_Oracle 最新详细版本

文章目录

          • 一、最低配置要求
            • 1. JDK版本要求
            • 2. 数据库版本要求
            • 3. 支持浏览器版本
          • 二、软件下载安装
            • 2.1. 软件列表总览
            • 2.2. jdk11下载
            • 2.3. sonarqube下载
            • 2.4. sonar-scanner-cli
            • 2.5. Oracle 驱动
          • 三、安装实战
            • 3.1. JDK sonar-scanner
            • 3.2. sonarqube
            • 3.3. oracle驱动
            • 3.4. 启动sonar
            • 3.4. 登录验证
            • 3.5. Sonarqube 中文插件专栏
          • 四、 集成oracle数据库
            • 4.1. 创建命名空间
            • 4.2. 创建sonarqube用户及赋予权限
            • 4.3. 配置数据库信息
            • 4.3. 重新启动
            • 4.4. 浏览器验证
            • 4.5. 数据库验证
          • 五、企业扫描实战
          • 六、异常汇总及技巧
            • 6.1. 操作技巧
            • 6.2. root启动sonarqube失败
            • 6.3. node validation exception

使用sonarqube8.3 搭建企业级代码质量管控平台

一、最低配置要求
1. JDK版本要求

https://docs.sonarqube.org/latest/requirements/requirements/
sonarqube8.3 :JDK版本11及以上,支持 Oracle版本有(19C
18C 12C 11G)

linux搭建SonarQube代码质量平台_Oracle 最新详细版本_第1张图片

2. 数据库版本要求

Oracle案例:

支持数据库 版本 编码要求
Oracle 19C
18C
12C
11G
Must be configured to use a UTF8-family charset (see NLS_CHARACTERSET) 必须编码为UTF-8

linux搭建SonarQube代码质量平台_Oracle 最新详细版本_第2张图片

支持数据库 版本 编码要求
PostgreSQL 12
11
10
9.3–9.6
Must be configured to use UTF-8 charset 必须编码为UTF-8

还支持Microsoft SQL Server,官网声明高版本SonarQube暂不适配Mysql数据库,建议自己可以尝试一下mysql数据库是否支持。
参考链接:
Sonarqube Mysql

3. 支持浏览器版本
浏览器 版本
Microsoft Internet Explorer IE 11
Microsoft Edge Latest
Mozilla Firefox Latest
Google Chrome Latest
Safari Latest
二、软件下载安装
2.1. 软件列表总览

linux搭建SonarQube代码质量平台_Oracle 最新详细版本_第3张图片

2.2. jdk11下载

官网地址:https://www.oracle.com/java/technologies/javase-jdk11-downloads.html
linux搭建SonarQube代码质量平台_Oracle 最新详细版本_第4张图片
注:如果不能下载,注册一个账户即可

2.3. sonarqube下载

sonarqube官网
https://www.sonarqube.org/downloads/
默认下载最新版
linux搭建SonarQube代码质量平台_Oracle 最新详细版本_第5张图片
附上历史版本下载说明:
linux搭建SonarQube代码质量平台_Oracle 最新详细版本_第6张图片
注:建议优先下载最新版本

2.4. sonar-scanner-cli

sonar-scanner-cli
https://binaries.sonarsource.com/Distribution/sonar-scanner-cli
linux搭建SonarQube代码质量平台_Oracle 最新详细版本_第7张图片

2.5. Oracle 驱动
ojdbc8-12.2.0.1 

地址:明天再补充下载链接

三、安装实战
3.1. JDK sonar-scanner
#解压jdk、sonar-scanner
tar -zxvf jdk-11.0.7_linux-x64_bin.tar.gz -C /app/
unzip sonar-scanner-cli-4.3.0.2102-linux.zip

#配置环境变量
vim /etc/profile
添加内容如下:

#java environment
export JAVA_HOME=/app/jdk-11.0.7
#配置sonar-scanner
export SONAR_RUNNER_HOME=/app/sonar-scanner-4.3.0
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin:$SONAR_RUNNER_HOME/bin

#刷新环境变量
source /etc/profile
3.2. sonarqube
#解压sonarqube
unzip sonarqube-8.3.1.34397.zip

#创建sonar用户并设置密码
useradd sonar
passwd sonar
123456
123456

#赋予sonar用户目录权限
chown sonar.sonar /app/sonarqube-8.3.1 -R

注:创建sonar用户的原因是,启动sonarqube内部会启动elasticsearch,而elasticsearch不允许root用户启动,因此,启动sonarqube需要单独创建sonar用户来操作,只要不是root用户即可。

3.3. oracle驱动

复制到指定路径下面即可

cp ojdbc8-12.2.0.1.jar /app/sonarqube-8.3.1/extensions/jdbc-driver/oracle/
3.4. 启动sonar
#切换至sonar用户
su - sonar

#进入执行脚本目录
cd /app/sonarqube-8.3.1/bin/linux-x86-64/
#启动sonar
./sonar.sh start
#查看sonar运行状态
./sonar.sh status
#监控sonar启动日志(日志会有好几个,重要的3个,先后生成依次是:sonar.log->es.log->web.log)
tail -f /app/sonarqube-8.3.1/logs/web.log
3.4. 登录验证

http://192.168.0.104:9000
账号:admin
密码:admin
linux搭建SonarQube代码质量平台_Oracle 最新详细版本_第8张图片

3.5. Sonarqube 中文插件专栏

https://blog.csdn.net/weixin_40816738/article/details/106582827

上面演示的是7.8版本,如果是8.3版本操作一样,第一种就是你在线安装,第二种就是去Github把对应版本的中文插件下载到本地,在托到指定目录即可。
例如:
在线安装插件演示图例:
linux搭建SonarQube代码质量平台_Oracle 最新详细版本_第9张图片
linux搭建SonarQube代码质量平台_Oracle 最新详细版本_第10张图片

单独下载插件演示:
linux搭建SonarQube代码质量平台_Oracle 最新详细版本_第11张图片
linux搭建SonarQube代码质量平台_Oracle 最新详细版本_第12张图片

/app/sonarqube-8.3.1/extensions/plugins

linux搭建SonarQube代码质量平台_Oracle 最新详细版本_第13张图片

四、 集成oracle数据库
4.1. 创建命名空间

如果是docker安装的oracle请参考下面例子

--创建明明空间 sonarqube
CREATE TABLESPACE sonarqube
DATAFILE '/home/oracle/app/oracle/oradata/helowin/sonarqube.dbf' SIZE 2018M
AUTOEXTEND ON NEXT 1024M MAXSIZE 20480M;

如果是不使用docker安装的oracle

CREATE TABLESPACE sonarqube
DATAFILE '/u01/oracle/oradata/sonar/sonarqube.dbf' SIZE 2018M
AUTOEXTEND ON NEXT 1024M MAXSIZE 20480M;

注:参数中命名空间、大小均自定义

4.2. 创建sonarqube用户及赋予权限
--创建sonarqube 用户,密码是sonarqube 
CREATE USER sonarqube IDENTIFIED BY sonarqube;
--给用户赋予权限
GRANT CONNECT, RESOURCE ,DBA TO sonarqube;
4.3. 配置数据库信息
cd /app/sonarqube-8.3.1/conf
vim sonar.properties

#添加数据库信息
sonar.jdbc.username=sonarqube
sonar.jdbc.password=sonarqube
sonar.jdbc.url=jdbc:oracle:thin:@192.168.0.104:1521/helowin
sonar.sorceEncoding=utf-8

注:端口1521、服务名helowin、编码utf-8、用户名、密码

在这里插入图片描述

4.3. 重新启动
#切换sonar用户
su - sonar
#进入执行脚本目录
cd /app/sonarqube-8.3.1/bin/linux-x86-64/
#启动soanr
./sonar.sh start
#监控sonar启动日志轨迹,便于快速定位和分析问题(建议大家养成这样的习惯)
tail -f /app/sonarqube-8.3.1/logs/web.log

linux搭建SonarQube代码质量平台_Oracle 最新详细版本_第14张图片

4.4. 浏览器验证

linux搭建SonarQube代码质量平台_Oracle 最新详细版本_第15张图片
linux搭建SonarQube代码质量平台_Oracle 最新详细版本_第16张图片

4.5. 数据库验证

linux搭建SonarQube代码质量平台_Oracle 最新详细版本_第17张图片
linux搭建SonarQube代码质量平台_Oracle 最新详细版本_第18张图片

五、企业扫描实战
1.创建一个扫描用户的家目录,用来存放项目代码和配置文件的目录
2.在此目录下面配置:
      一个配置文件
      一个执行扫描脚本
      一个存放代码目录

sonar-project.properties

# 项目key 用于标识项目唯一性
sonar.projectKey=fis
# 项目名称
sonar.projectName=fis
# 项目扫描的默认版本
sonar.projectVersion=1.0
# 扫描项目的目录
sonar.java.binaries=fis
# web账号
sonar.login=admin
# web 密码
sonar.password=admin
# 扫描项目的源码目录
sonar.sources=fis
# 扫描项目的编码设置
#sonar.sourceEncoding=UTF-8
sonar.sourceEncoding=GBK

执行扫描脚本sonar-scanner.sh

sonar-scanner

赋予扫描脚本可执行那个权限

chmod +x sonar-scanner.sh

说明一下脚本执行原理:一般在/app/sonar-scanner-4.3.0/conf目录下面配置项目信息
linux搭建SonarQube代码质量平台_Oracle 最新详细版本_第19张图片
进入/app/sonar-scanner-4.3.0/bin目录执行sonar-scanner脚本即可,
linux搭建SonarQube代码质量平台_Oracle 最新详细版本_第20张图片
上面场景,只有一个项目是可以的,但是如果有几百个用户,那对应几百个项目,怎么办的,为每一个用户创建一个扫描目录,在目录下面配置项目信息和执行脚本加上扫描目录即可实现。

六、异常汇总及技巧
6.1. 操作技巧

在启动项目之前,打开2个窗口,一个是启动sonar的窗口,另一个是生成日志的窗口,这样想做的好处就是,可以监控项目从启动到启动的成功以及操作页面触发执行的操作,在日志中可以实时的监控;发生异常信息,也可以快速的定位和分析,从而提高解决问题的效率。

有时候不会生成web.log如果遇到,说明启动sonarqube失败,根据启动日志,分析日志的关键性信息,定位导致异常发生的原因。

6.2. root启动sonarqube失败

在操作8.3版本中遇到了3个问题,
问题1:使用root启动sonarqube失败,可以根据/app/sonarqube-8.3.1/logs/es.log日志可知。
解决方案:
1.创建用户
2.清空 /app/sonarqube-8.3.1/data 、/app/sonarqube-8.3.1/temp、/app/sonarqube-8.3.1/ logs目录下生成的目录以及文件
3.切换到新创建的用户重新启动sonar服务即可

6.3. node validation exception

这个异常具体处理请参考:node validation exception 的问题处理

你可能感兴趣的:(SonarQube,SonarQube,oracle)