Linux 安装SonarQube

摘要:
目前,它支持20多种编程语言的代码质量管理和检测,包括Java、C#、C/C++、Python、PL/SQL、Cobol、JavaScrip、Groovy等。
 
 
 
 
 
 
1、在安装SonarQube 之前需要先了解一下它是做什么的

  SonarQube助力于让所有开发人员编写更干净、更安全的代码

  SonarQube是一个用于管理代码质量的开放平台,可以快速的定位代码中潜在的或者明显的错误。目前支持Java,C#,C/C++,Python,PL/SQL,Cobol,JavaScrip,Groovy等二十几种编程语言的代码质量管理与检测。

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

  https://www.shcsinfo.com/sonarqube/

  Docker镜像库:https://hub.docker.com/_/sonarqube/

2、最新版本的一些注意点

  1、新版的SonarQube(7.9+)只支持以下数据库:
  Microsoft SQL Server、Oracle、PostgreSQL、H2 (默认的嵌入式数据库)
  注意不再支持MySQL,使用MySQL数据源启动会报错:
  Exception in thread "main" org.sonar.process.MessageException: Unsupported JDBC driver provider: mysql

  2、新版SonarQube没有/opt/sonarqube/conf目录了,不需要再做数据卷映射,否则启动报错。

  3、SonarQube内置了ElasticSearch,需要调整默认的vm.max_map_count信息,不然启动会报错:
  ERROR: [1] bootstrap checks failed [1]: max virtual memory areas vm.max_map_count
  在宿主机中执行以下命令: 摘自  https://hub.docker.com/_/sonarqube/

sysctl -w vm.max_map_count=262144
sysctl -w fs.file-max=65536
ulimit -n 65536
ulimit -u 4096

以上是临时修改如果想永久修改则

vim /etc/sysctl.conf   #(需要是root账户)

#文件最后添加一行: 

vm.max_map_count=262144
fs.file-max=65536

#sysctl -p  重启生效

sysctl -p
3、安装 PostgreSQL 

1、下面以数据库PostgreSQL 作为数据库,先安装PostgreSQL , 这里我使用的是 本地安装数据库 参照 https://www.cnblogs.com/ningy1009/p/14467751.html 进行安装 

2、也可以使用docker 安装 postgresql

(1)拉取pg的docker镜像

docker pull postgres:latest

(2)创建一个PostgreSQL Docker容器

docker run --name sonar-postgres -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -d -p 5432:5432 postgres

4、使用Docker安装SonarQube

(1)、拉取Sonar Qube 镜像

docker pull sonarqube:latest

(2)创建一个Sonar Qube Docker容器(注意修改替换自己部署的数据库连接) 注:9000是容器内项目端口,9001是映射物理机改项目端口,可以根据自己的情况调整

docker run --name sonarqube -d -p 9001:9000 -e SONARQUBE_JDBC_USERNAME=sonar -e SONARQUBE_JDBC_PASSWORD=sonar -e SONARQUBE_JDBC_URL=jdbc:postgresql://ip:5432/sonar sonarqube

(3)、防火墙添加9000  9001 端口

 firewall-cmd --permanent --add-port=9000/tcp


 firewall-cmd --permanent --add-port=9001/tcp

 firewall-cmd --reload
 iptables -nL

Linux 安装SonarQube第1张

 

访问:http://ip:9001 发现访问失败

这里必须先创建sonar 用户和数据库才可访问成功

[root@kycxtest121 data]# su - postgres
上一次登录:二 3月  2 14:24:42 CST 2021pts/0-bash-4.2$ psql -U postgres
psql (13.2)
输入 "help" 来获取帮助信息.

postgres=# CREATE USER sonar WITH PASSWORD 'sonar';  #创建用户
CREATE ROLE

create database sonar;创建sonar数据库

postgres=# alter role sonar createdb; #给sonar授权
ALTER ROLE
postgres=# alter role sonar superuser;#给sonar授权
ALTER ROLE 

postgres
=# alter role sonar createrole; #给sonar 授权

ALTER ROLE

postgres
=# alter database sonar owner to sonar; #更改sonar 数据库拥有者(否则sonarqube链连接失败)

添加完数据库后重启 容器

5、再次访问发现访问成功,默认用户名和密码 admin/admin

Linux 安装SonarQube第2张

 6、安装中文插件重启项目

Linux 安装SonarQube第3张

 重启后即可看到中文界面

Linux 安装SonarQube第4张

 7、创建项目并检测项目代码问题

Linux 安装SonarQube第5张

 

免责声明:文章转载自《Linux 安装SonarQube》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ThinkPHP5学习总结3—— ThinkPHP5框架总览【python安装】错误——“User installations are disabled via policy on the machine”下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux 系统 解决php -v查看到版本于phpinfo()打印的版本不一致问题

发现问题的原因:   安装zip扩展后,配置成功,但是使用gitlab合并的时候发生错误,经检查,使用phpinfo打印出来的php版本为7.1,而使用linux度服务器 运行 php -v的版本却是5.4,故怀疑加载的php.ini文件不一致 解决方案        首先查找一下linux上有几个php.ini。结果发现有两个:       使用命令来查...

MySQL用户权限验证与管理方法详解

本文实例讲述了MySQL用户权限验证与管理方法。分享给大家供大家参考,具体如下: 一、Mysql权限分两阶段验证 1. 服务器检查是否允许连接:用户名、密码,主机地址。 2. 检查每一个请求是否有权限实施。 二、Mysql权限列表 权限 权限级别 权限说明 create 数据库、表或索引 创建数据库、表或索引权限 drop 数据库或表 删除数据...

vue.js 本地调用远程接口进行开发,如何进行跨域及cookie传递

在前后端分离vue作为前端框架,在使用服务器接口时面临的第一个问题就是跨域。本文涉及内容仅保证在vue-cli3.0脚手架创建的项目中、及本地调试中有效(使用之前版本脚手架创建的项目请自行转换),本文内容不适用于服务器端前后台打包部署。 一、处理跨域接口调用 1、在项目根目录下建立vue .config.js文件 2、在vue.config.js中配置本...

linux源码“.config”文件分析

转载于:http://www.cnblogs.com/amanlikethis/p/3641097.html 一、.config文件概述 .config文件是linux内核配置文件,当执行#make uImage编译生成内核时,顶层的Makefile会读取.config文件的内容,根据这个配置文件来编译所定制的内核。 二、.config文件关联 1 文件关...

在浏览器上开发GO和Vue!(基于code-server)

在浏览器上开发GO和Vue!(基于code-server) 曾几何时,开发者们都被安装编程环境苦恼,尽管现在很多语言的开发环境已经不难装了,但是如果我们能有一个运行在云端的编译器,那么我们就可以随时随地通过浏览器编写、编译我们的代码啦!! 先看我们最终效果: 完美运行Go程序!下面开始整个环境搭建。 打包好的镜像 配置完成的Go+Vue的编译+Debug...

Vault数据库还原/恢复问题

我们在系统崩溃或Vault库从一台计算机移植到另一台计算机等情况时,可能会通过恢复或还原原Vault数据库来解决问题,本以为这样就可以正常使用了,哪知道会报如下错误:“Vault Failed to establish a connection to the database”。现提供一个我的解决办法:1.从控制面板里面卸载Vault,卸载时请注意在问你是...