文章目录

  • 一、安装声明
  • 二、下载软件
    • 2.1. sonarqube
    • 2.2. sonar-scanner-cli
  • 三、SonarQube实战
    • 3.1. 解压
    • 3.2. 配置
    • 3.3. 环境变量
    • 3.4. 启动Sonarqube
    • 3.5. 访问Sonarqube
  • 四、SonarQube 整合Oracle
    • 4.1. 创建命名空间
    • 4.2. 创建用户和赋予权限
    • 4.3. 添加数据库配置
    • 4.4. 添加Oracle数据库驱动
    • 4.5. 线上扫描配置
  • 五、sonar整合 sonar-scanner
    • 5.1. 创建项目扫描的目录
    • 5.2. 新建 sonar-project.properties
    • 5.3. 创建扫描脚本
    • 5.4. 赋予可执行权限
    • 5.5. 运行脚本
    • 5.6. 访问web
  • 六、搭建异常汇总
    • 6.1. 编码不统一
    • 6.2. SonarQube启动报错
    • 6.3. SonarQube以root用户启动

一、安装声明

sonarqube8.3 最低配置要求:

二、下载软件

2.1. sonarqube

sonarqube官网
https://www.sonarqube.org/downloads/


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

2.2. sonar-scanner-cli

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

三、SonarQube实战

前提:提前把jdk安装好

3.1. 解压
unzip sonarqube-7.6.zip -C /app/
unzip sonar-scanner-cli-3.3.0.1492-linux.zip -C /app/
3.2. 配置

重命名 sonar-scanner

mv sonar-scanner-3.3.0.1492-linux sonar-scanner-3.3
3.3. 环境变量
#set java environment
export JAVA_HOME=/app/jdk1.8.0_144
export SONAR_RUNNER_HOME=/app/sonar-scanner-3.3
export SONAR_SCANNER_OPTS="-Xmx22528m"
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.4. 启动Sonarqube
./app/sonarqube-7.6/bin/linux-x86-64/sonar.sh
3.5. 访问Sonarqube

http://localhost:9000/

四、SonarQube 整合Oracle

4.1. 创建命名空间
CREATE TABLESPACE sonarqube
DATAFILE '/u01/oracle/oradata/sonar/sonarqube.dbf' SIZE 2018M
AUTOEXTEND ON NEXT 1024M MAXSIZE 20480M;
4.2. 创建用户和赋予权限
#创建sonarqube 用户,密码是sonarqube
CREATE USER sonarqube IDENTIFIED BY sonarqube;
#给用户赋予权限
GRANT CONNECT, RESOURCE ,DBA TO sonarqube;
4.3. 添加数据库配置
#编辑配置文件
vim /sonarqube-7.6/conf/sonar.properties#Oracle数据库连接配置
sonar.jdbc.username=sonarqube
sonar.jdbc.password=sonarqube
sonar.jdbc.url=jdbc:oracle:thin:@localhost:1521/sonar
sonar.sorceEncoding=gbk
4.4. 添加Oracle数据库驱动
在/sonarqube-7.6/extensions/jdbc-driver/oracle目录下面添加Oracle的数据库驱动包ojdbc8-12.2.0.1.jar

注:此驱动包线上测试通过一直用着

4.5. 线上扫描配置
sonar.web.javaOpts =-Xmx8192m -Xms512m -XX:MaxPermSize=8192m
sonar.ce.javaOpts =-Xmx8192m -Xms512m -XX:MaxPermSize=8192m
sonar.search.javaOpts =-Xmx8912m -Xms512m -XX:MaxPermSize=8192m

注:此配置根据服务器硬件配置按需配置

五、sonar整合 sonar-scanner

5.1. 创建项目扫描的目录
mkdir project_name
5.2. 新建 sonar-project.properties
# 项目key 用于标识项目唯一性
sonar.projectKey=lis_cx
# 项目名称
sonar.projectName=lis_cx
# 项目扫描的默认版本
sonar.projectVersion=1.0
# 扫描项目的目录
sonar.java.binaries=lis_cx
# web账号
sonar.login=admin
# web 密码
sonar.password=admin
# 扫描项目的源码目录
sonar.sources=lis_cx
# 扫描项目的编码设置
#sonar.sourceEncoding=UTF-8
sonar.sourceEncoding=GBK
5.3. 创建扫描脚本
vim sonar-scanner.sh
添加内容吐下:
sonar-scanner
5.4. 赋予可执行权限
chmod u+x sonar-scanner.sh
5.5. 运行脚本
./sonar-scanner.sh
5.6. 访问web

六、搭建异常汇总

6.1. 编码不统一

解决方案
oracle数据库字符编码utf-8改为ZHS16GBK

6.2. SonarQube启动报错

异常现象:
WrapperSimpleApp: Encountered an error running main: java.nio.file.AccessDeniedExcepti:
解决方案:
https://gblfy.blog.csdn.net/article/details/103754821

6.3. SonarQube以root用户启动

声明:
1、SonarQube不能以root用户启动
2、如果误操作用root用户启动,再使用其他用户,导致SonarQube启动失败
3、如果jdk用户root用户安装的,sonar-scanner-3.3必须是root用户,不能为其他用户,否则sonar-scanner-3.3启动不起来
解决方案:
误操作用root用户启动,再使用其他用户,导致SonarQube启动失败
1、删除sonarqube-7.6/temp/下面的所有文件
2、删除sonarqube-7.6/logs/下面的所有文件

sonar-scanner启动异常,无权限操作:
修改sonar-scanner目录权限,和安装jdk的用户有关(默认root权限即可)

linux搭建SonarQube_Oracle相关推荐

  1. 我的世界php安装,我的世界Linux搭建网页后台Multicraft下载与安装

    小编为大家带来了<我的世界>Linux搭建网页后台Multicraft下载与安装,首先下载Multicraft Linux版,下载好了以后请玩家自己看着下面的教程来安装. 64位:http ...

  2. Linux 搭建SVN 服务器

    一. SVN 简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中 ...

  3. Linux搭建安卓开发环境

    Linux下搭建Android开发环境 为什么要在Linux搭建开发环境呢?从直观来说,Android虚拟机在Linux下运行速度更快,而且性能更稳定. 我使用的Linux环境是ubuntu-10.1 ...

  4. contos LINUX搭建LAMP笔记

    LINUX搭建LAMP笔记 .YUM:Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于R ...

  5. 乐鑫代理-启明云端分享ESP32系列教程之二:Linux搭建esp-idf环境

    提示:此教程依据乐鑫官方的ESP32入门教程总结而来,仅供个人参考学学习,如有错误,欢迎批评指正.乐鑫官方参考: 乐鑫官方文档地址 1.搭建esp-idf环境 1.1安装虚拟机与Ubuntu 未安装请 ...

  6. 如何给multicraft装PHP,我的世界Linux搭建Multicraft网页后台教程更新和添加服务端文件...

    小编为大家带来了<我的世界>Linux搭建Multicraft网页后台教程更新和添加服务端文件,这个是一个比较重要的教程,当然用不到的玩家可以跳过了. 重新登录 点击"设置&qu ...

  7. 网众linux安装教程,网众Linux搭建Samba教程

    网众Linux搭建Samba教程 [日期:2010-12-20] 来源:Linux社区 作者:Linux [字体:大 中 小] Linux SAMBA server 主配置文件/etc/samba/s ...

  8. 原 Linux搭建SVN 服务器2

    原 Linux搭建SVN 服务器 发表于1年前(2014-08-05 17:55)   阅读(12257) | 评论(3) 31人收藏此文章, 我要收藏 赞3 摘要 Linux搭建SVN 服务器 目录 ...

  9. linux mc服务器 mod_如何在linux搭建MC服务器

    摘要: 前言Q:为什么要用linux搭建MC服务器?A:因为linux系统占用率低,跑服务器效果非常好Q:看不懂linux ssh,后期自己无力运维怎么办A:没关系,这个教程是通过安装BT... 前言 ...

最新文章

  1. javascript学习笔记2
  2. Android SlidingMenu以及ActionBarSherlock的基础使用教程
  3. 5334. 【NOIP2017提高A组模拟8.24】空
  4. Apache Hadoop 简单配置及实践
  5. 怎么判断前轮左右的位置_新手开车技巧,确定前轮位置,准确判断与障碍物距离...
  6. android 解码webp动画,android webp编解码详解
  7. PAT乙级(1027 打印沙漏)
  8. matlab 线性规划求最大值,MATLAB求解线性规划(含整数规划和01规划)问题.pdf
  9. python条件语句代码例子_Python 炫技操作:条件语句的七种写法
  10. MySQL命令行导入导出sql文件
  11. CCNP的实验设备注意事项
  12. Innosetup 多种安装 vc_redist 运行库方式
  13. 金工量化优质书单推荐及下载
  14. win7计算机开机黑屏解决办法参考
  15. 通过wifi共享使Linux设备连接网络
  16. 《ECMAScript 6 入门教程》学习笔记Ⅰ
  17. Android 音视频深入 十 FFmpeg给视频加特效(附源码下载)
  18. LWN:5.18 合并窗口,第二部分!
  19. 小米笔记本android,7代小米笔记本安装凤凰系统(Phoenix OS)显示命令行ANDROID字样
  20. Arduino门禁控制

热门文章

  1. 【java机器学习】决策树算法
  2. web通讯录之登录注册界面
  3. sdut 双向队列(STL)
  4. 优秀的程序员都避开了哪些坑?
  5. Hbase Solr 二级索引,更新数据部分字段丢失问题
  6. 【详谈 Delta Lake 】系列技术专题 之 特性(Features)
  7. 国产数据库存储引擎X-Engine的科研之路
  8. 2017双11技术揭秘—阿里数据库计算存储分离与离在线混布
  9. 一张图看懂阿里云网络产品【四】NAT网关
  10. 近7万新冠域名一半是钓鱼网站?以色列老牌安全厂商Check Point推出全端保护新战略