文章目录

  • 一、最低配置要求
    • 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)

2. 数据库版本要求

Oracle案例:

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

支持数据库 版本 编码要求
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. 软件列表总览

2.2. jdk11下载

官网地址:https://www.oracle.com/java/technologies/javase-jdk11-downloads.html

注:如果不能下载,注册一个账户即可

2.3. sonarqube下载

sonarqube官网
https://www.sonarqube.org/downloads/
默认下载最新版

附上历史版本下载说明:

注:建议优先下载最新版本

2.4. sonar-scanner-cli

sonar-scanner-cli
https://binaries.sonarsource.com/Distribution/sonar-scanner-cli

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

3.5. Sonarqube 中文插件专栏

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

上面演示的是7.8版本,如果是8.3版本操作一样,第一种就是你在线安装,第二种就是去Github把对应版本的中文插件下载到本地,在托到指定目录即可。
例如:
在线安装插件演示图例:

单独下载插件演示:

/app/sonarqube-8.3.1/extensions/plugins

四、 集成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

4.4. 浏览器验证


4.5. 数据库验证


五、企业扫描实战
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目录下面配置项目信息

进入/app/sonar-scanner-4.3.0/bin目录执行sonar-scanner脚本即可,

上面场景,只有一个项目是可以的,但是如果有几百个用户,那对应几百个项目,怎么办的,为每一个用户创建一个扫描目录,在目录下面配置项目信息和执行脚本加上扫描目录即可实现。

六、异常汇总及技巧
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 的问题处理

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

  1. Docker搭建SonarQube代码质量检查平台

    SonarQube是一个用于持续检查代码质量的开源平台 Docker搭建SonarQube代码质量检查平台 快速开始 version: '3' services:mydb:image: postgre ...

  2. Docker搭建SonarQube代码质量检测工具

    SonarQube简介 SonarQube 是一款用于代码质量管理的开源工具,它主要用于管理源代码的质量. 通过插件形式,可以支持众多计算机语言,比如 java, C#, go,C/C++, PL/S ...

  3. Linux 搭建私有CA证书服务器之超详细版本

    一.CA简介 CA是什么?CA是Certificate Authority的简写,从字面意思翻译过来是凭证管理中心,认证授权.它有点类似我们生活中的身份证颁发机构,这里的CA就相当于生活中颁发身份证的 ...

  4. 个推如何管理亿级代码的质量?持续集成SonarQube 代码质量管理系统

    2019独角兽企业重金招聘Python工程师标准>>> 平台架构 如下图所示,整个代码管理平台由,Analysers, Server , Database 组成. 当然,根据需求不同 ...

  5. Windows10 部署 Sonarqube 代码质量管理平台

    Windows10 部署 Sonarqube 代码质量管理平台 一 安装MySQL解压版 此部分参看Win10安装MySQL5.7.22 解压缩版(手动配置)方法 1.下载MySQL MySQL官网下 ...

  6. 【四】gym搭建自己的环境,全网最详细版本,3分钟你就学会了!

    相关文章: [一]gym环境安装以及安装遇到的错误解决 [二]gym初次入门一学就会-简明教程 [三]gym简单画图 [四]gym搭建自己的环境,全网最详细版本,3分钟你就学会了! [五]gym搭建自 ...

  7. sonarqube怎么分析php项目,SonarQube代码质量分析平台介绍

    1.使用需求 随着互联网产品迭代越来越快,客户对产品的要求也越来越高,因此如何高质量的交付代码,及时地对代码质量进行分析并给出合理的解决方案就成为了当下必须要解决的一个问题.SonarQube 就是一 ...

  8. Docker运行sonarqube (代码质量检测平台)

    onarqube是什么 SonarQube是用于持续检查代码质量的开源平台. 可用于持续集成,持续部署流程中的代码检测环节. idea和jenkins都提供了插件配合使用. liunx推荐配置环境 l ...

  9. 基于SonarQube代码质量检测

    基于SonarQube代码质量管理 SonarQube是什么? 官网:https://www.sonarqube.org/ Sonar (SonarQube)是一个开源平台,用于管理源代码的质量. S ...

最新文章

  1. 安全应用与管理 中国安防下一个十年
  2. bootstrapDialog插件集成datatables插件遇到的异常
  3. /etc/shadow 密码加密方法
  4. ABAP开发中常用的两个F4搜索帮助函数的区别
  5. sql left join用法_一张图看懂 SQL 的各种 join 用法!
  6. java 泛型调用方法调用_java – 如何使用泛型调用最具体的方法?
  7. 【渝粤题库】国家开放大学2021春1377理工英语3题目
  8. tinymce 工具栏 不显示_VBA自动创建outBar式样的工具栏
  9. 最不适合做数据分析的6种性格,看看你占了几个?
  10. python重定向反爬虫_高效实用http爬虫代理ip之盘点一些网站的反爬虫机制
  11. python骗局-代购被骗?Python带你征服骗子!直接干掉他的网站!亲身经历!
  12. 矩阵运算_Eigen使用_旋转矩阵/角轴/欧拉角/四元数相互转换
  13. 离散数学计算机科学与技术答案,2计算机科学与技术专业本科离散数学期末复习题2...
  14. 网络编程知识点复习(第一次)
  15. 处理器阉割版和满血版有什么区别?
  16. 打印机form2尺寸_windows7中如何设置打印机纸张大小 以241-2纸张为例
  17. 微信小程序 - 级联查询
  18. Hadoop 如何退出安全模式
  19. 机器学习实战——分类
  20. 苹果二手机价格行情2022.2.22

热门文章

  1. 新自然指数出炉,哪些高校表现突出?
  2. 未来我们需要一辆什么样的智能汽车?
  3. Windows下如何如何将项目上传至GitHub?
  4. 手机系统安装打印机服务器错误代码,OKI打印机报错?各型号代码故障解决方法...
  5. flink连接kafka整合hbase,scala
  6. 小白科普:Netty有什么用?【转载】
  7. 纸牌三角形(蓝桥杯)
  8. ros(4)话题的自定义消息
  9. 深度解析开源推荐算法框架EasyRec的核心概念和优势
  10. 一张图教你玩转阿里云双11上云狂欢节