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)

在这里插入图片描述

2. 数据库版本要求

Oracle案例:

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

在这里插入图片描述

支持数据库版本编码要求
PostgreSQL12
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 ExplorerIE 11
Microsoft EdgeLatest
Mozilla FirefoxLatest
Google ChromeLatest
SafariLatest
二、软件下载安装
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 的问题处理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/519968.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2018年AI和ML(NLP、计算机视觉、强化学习)技术总结和2019年趋势(上)

1、简介: 过去几年一直是人工智能爱好者和机器学习专业人士最幸福的时光。因为这些技术已经发展成为主流,并且正在影响着数百万人的生活。各国现在都有专门的人工智能规划和预算,以确保在这场比赛中保持优势。 数据科学从业人员也是如此&am…

2018最佳GAN论文回顾(下)

继上一篇《2018最佳GAN论文回顾(上)》,我又继续介绍了一个对于GAN的基于样式的生成器体系结构的新论文,提出了一个新的模型来应对这种挑战。 一种用于生成式对抗网络的基于生成器体系结构的方式(A Style-Based Genera…

云+X案例展 | 民生类:浪潮云打卡人间仙境张家界

本案例由浪潮投递并参与评选,CSDN云计算独家全网首发;更多关于【云X 案例征集】的相关信息,点击了解详情丨挖掘展现更多优秀案例,为不同行业领域带来启迪,进而推动整个“云行业”的健康发展。“仙凡共界武陵门&#xf…

云栖专辑 | 阿里开发者们的第19个感悟:Simple is better.

2015年12月20日,云栖社区上线。2018年12月20日,云栖社区3岁。 阿里巴巴常说“晴天修屋顶”。 在我们看来,寒冬中,最值得投资的是学习,是增厚的知识储备。 所以社区特别制作了这个专辑——分享给开发者们20个弥足珍贵的…

使html表格可编辑状态,js+Html实现表格可编辑操作

本文实例为大家分享了jsHtml实现表格可编辑操作的具体代码,供大家参考,具体内容如下功能描述:单击页面使单元格td变成可编辑状态,输入内容后,当单元格失去焦点时,保存输入的内容。点击增加行,在…

深度学习为图片人物换装【python代码教程】

在观看本文之前,请答应我要善良。昨天预告了下,发现很多同学对这个模型都表示出兴趣,甚至有好多同学后台发来照片让我帮他们脱裤子。授人以鱼不如授人以渔,请这些同学好自为之~ 01效果演示 本文案例使用的是开源项目instagan&am…

java通过HTTPS协议POST提交接收JSON格式数据

文章目录一、客户端实现1. HttpsApiUtils 测试方法2. 返回报文监控二、服务端实现2.1. 配置SSL 实现HTTPS2.2. 添加post接口方法2.3. 服务端监控三、进阶测试3.1. 客户端发送对象3.2. 服务端监控3.3. 客户端解析返回报文一、客户端实现 声明:不用引入任何第三方jar…

2018年AI和ML(NLP、计算机视觉、强化学习)技术总结和2019年趋势(下)

4、工具和库 工具和库是数据科学家的基础。我参与了大量关于哪种工具最好的辩论,哪个框架会取代另一个,哪个库是经济计算的缩影等等。 但有一点共识--我们需要掌握该领域的最新工具,否则就有被淘汰的风险。 Python取代其他所有事物并将自己…

Elasticsearch7.15.2 出现 node validation exception 的问题处理

3个异常如下: [1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536][2]: memory locking requested for elasticsearch process but memory is not locked[3]: max virtual memory areas vm.max_map_count [6553…

最强NLP模型BERT可视化学习

2018年是自然语言处理(Natural Language Processing, NLP)领域的转折点,一系列深度学习模型在智能问答及情感分类等NLP任务中均取得了最先进的成果。近期,谷歌提出了BERT模型,在各种任务上表现卓越,有人称其…

一分钟看懂通信铁塔

戳蓝字“CSDN云计算”关注我们哦!作者 | 无线深海责编 | 阿秃说到铁塔,相信大家都很熟悉。我们走在路上,到处都可以看到它们。作为通信工程师来说,我们所说的铁塔,往往是特指那些专门用于通信用途的塔。现实生活中&…

html立体魔方图片制作,ppt怎么制作三维视图的魔方图 ppt制作三维魔方图详细教程...

很多用户在制作PPT展示图的时候,有时候需要制作三维立体的魔方图,制作步骤简单,不过还有很多的用户不清楚如何制作,那么下面小编就为大家分享PPT制作三维魔方图的详细步骤教程,不会制作的朋友可以参照下面的步骤教程多…

PMP考试技巧(必备)

(一) 关键词篇 第 1 章 引论 看到“驱动变革”——选项中找“将来状态” 看到“依赖关系”——选项中找“项目集管理” 看到“价值最大化”——选项中找“项目组合管理” 看到“可行性研究”——选项中找“商业论证” 第 2 章 项目运行环境 看到“…

IDE 插件新版本发布,开发效率 “biu” 起来了

近日,Cloud Toolkit正式推出了面向 IntelliJ 和 Eclipse 两个平台的新款插件,本文挑选了其中三个重大特性进行解读,点击文末官网跳转链接,可查看详细的版本说明。 本地应用一键部署到任何机器上IDE 内置的命令行终端文件上传到服…

爬取6271家死亡公司数据,看十年创业公司消亡史

戳蓝字“CSDN云计算”关注我们哦!作者 | 朱小五责编 | 阿秃前段时间老罗和王校长都成为自己的创业公司成了失信人,小五打算上IT桔子看看他们的公司。意外发现IT桔子出了个死亡公司库(https://www.itjuzi.com/deathCompany)&#x…

阿里重磅开源首款自研科学计算引擎Mars,揭秘超大规模科学计算

日前,阿里巴巴正式对外发布了分布式科学计算引擎 Mars 的开源代码地址,开发者们可以在pypi上自主下载安装,或在Github上获取源代码并参与开发。 此前,早在2018年9月的杭州云栖大会上,阿里巴巴就公布了这项开源计划。Ma…

html5链接教程,关于html a、html超链接基础教程

一、html a语法被链接内容html a超链接机关图同时锚文本_锚链接又被各人喻为超链接。Href值:网址,网址一定加上http://域名相对路径,如htef"/abc/",代表本站内锚文本target指标值以下:_blank -- 在新窗口中掀开链接 _pa…

阿里大规模数据中心性能分析

郭健美,阿里巴巴高级技术专家,目前主要从事数据中心的性能分析和软硬件结合的性能优化。CCF 系统软件专委和软件工程专委的委员。曾主持国家自然科学基金面上项目、入选上海市浦江人才计划A类、获得 ACMSIGSOFT “杰出论文奖”。担任 ICSE18NIER、ASE18、…

推出云游戏解决方案后,腾讯在这场沙龙上还说了什么?

近日腾讯在京举办腾讯云媒体开放日,其中在云游戏专场,腾讯研究院研究员俞点和腾讯视频云业务总经理李郁韬分别进行了分享。俞点指出,腾讯从2016年开始便针对云游戏进行技术开发和积累,进入2019年后云游戏迎来爆发,谷歌…

一份关于机器学习端到端学习指南

人工智能、机器学习已经火了有一阵了,很多程序员也想换到这方向,目前有关于深度学习基础介绍的材料很多,但很难找到一篇简洁的文章提供实施机器学习项目端到端的指南,从头到尾整个过程的相关指南介绍。因此,个人在网上…