转载:https://blog.csdn.net/cuiaamay/article/details/52057091

1,安装

1.1 安装依赖

需要保证Oracle JRE 8 及以上,或者 OpenJDK 8及以上(如下安装 openjdk):

# add-apt-repository ppa:openjdk-r/ppa

# apt-get update

# apt-get install openjdk-8-jdk

配置default-jre:

# update-java-alternatives -l

java-1.7.0-openjdk-amd641071 /usr/lib/jvm/java-1.7.0-openjdk-amd64

java-1.8.0-openjdk-amd641069 /usr/lib/jvm/java-1.8.0-openjdk-amd64

# update-alternatives --config java

There are 2 choices forthe alternative java (providing /usr/bin/java).

Selection   Path                                   Priority   Status

------------------------------------------------------------

0        /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071     auto mode

1        /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071     manual mode

* 2        /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1069     manual mode

Press enter to keep thecurrent choice[*], or type selection number: 2

# java -version

openjdk version "1.8.0_91"

OpenJDK Runtime Environment (build1.8.0_91-8u91-b14-0ubuntu4~14.04-b14)

OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)

1.2 安装 MySQL

Sonar 默认使用的是 Derby数据库,但这个数据库一般用于评估版本或者测试用途。 Sonar可以支持大多数主流关系型数据库,我们使用 MySQL。

安装过程中需要设置admin密码:

# apt-get install mysql-server mysql-clientlibmysqlclient-dev

注:版本必须大于5.6,必须设置为 "UTF-8",语言为 "English"。检查方法:

# mysql -u root-p

mysql>SHOW VARIABLES LIKE 'character%';

1.3 安装 SonarQube

1.3.1 添加 sonar 用户

# useradd -m -g root -s /bin/bash sonar

1.3.2 下载 SonarQube(服务器端)

从 http://www.sonarqube.org/downloads/ 下载最新包,解压即可用:

$ wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-5.6.zip

1.3.3 下载 Sonar-Scanner(客户端)

从http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner下载最新包,解压即可用:

$ wget https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-2.6.1.zip

2,配置

2.1 配置数据库

2.1.1 创建数据库

以管理员账号登录:

# mysql -u root -p

mysql>CREATEDATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;

2.1.2 在 MySQL中创建 sonar用户

在mysql中建立一个名为 sonar、密码为 xxxx 的用户,授权 sonar 数据库的所有操作:

mysql>CREATEUSER 'sonar'@'localhost' IDENTIFIED BY 'xxxx';

mysql>GRANT ALLON sonar.* TO 'sonar'@'%';

mysql>GRANT ALLON sonar.* TO 'sonar'@'localhost';

刷新权限表:

mysql>FLUSHPRIVILEGES;

2.1.3 配置数据库

编辑 ${SONAR_HOME}/conf/sonar.properties 按实际,配置数据库(在默认配置中,修改用户名、密码,选择数据库即可):

$ visonar/conf/sonar.properties

2.2 配置 Sonar 服务器端

配置基本信息,如 host、端口等

$ visonar/conf/sonar.properties

2.3 配置开机自启动

$ sudo vi /etc/init.d/sonar

  1. #!/bin/sh
  2. #
  3. # rc file for SonarQube
  4. #
  5. # chkconfig: 345 96 10
  6. # description:SonarQube system (www.sonarsource.org)
  7. #
  8. ### BEGIN INIT INFO
  9. # Provides: sonar
  10. # Required-Start:$network
  11. # Required-Stop:$network
  12. # Default-Start: 3 4 5
  13. # Default-Stop: 0 1 2 6
  14. # Short-Description:SonarQube system (www.sonarsource.org)
  15. # Description:SonarQube system (www.sonarsource.org)
  16. ### END INIT INFO
  17. /usr/bin/sonar $*

添加启动服务:

$ sudo ln -s /home/sonar/sonar/bin/linux-x86-64/sonar.sh/usr/bin/sonar

$ sudo chmod 755 /etc/init.d/sonar

$ sudo update-rc.d sonar defaults

2.4 集成 LDAP

2.4.1 修改管理员密码

启动 sonar:

$ /etc/init.d/sonar start

访问地址:http://101.201.39.57:9000

默认管理员账号密码:admin/admin

入口:Administration > My Account > Security

2.4.2 安装 LDAP 插件

入口:Administration > System > Update Center

找到安装即可

2.4.3 重启 sonar

插件安装、更新,需要重启方可生效。

2.4.4 配置 LDAP

$ vi conf/sonar.properties

  1. # LDAP configuration
  2. # General Configuration
  3. sonar.security.realm=LDAP
  4. sonar.security.savePassword=true
  5. ldap.url=ldap://myserver.mycompany.com
  6. # User Configuration
  7. ldap.user.baseDn=ou=Users,dc=mycompany,dc=com
  8. ldap.user.request=(&(objectClass=inetOrgPerson)(uid={login}))
  9. ldap.user.realNameAttribute=cn
  10. ldap.user.emailAttribute=mail
  11. # Group Configuration
  12. ldap.group.baseDn=ou=Groups,dc=sonarsource,dc=com
  13. ldap.group.request=(&(objectClass=posixGroup)(memberUid={uid}))

如果 ldap 禁止匿名访问,还需要配置bindDn和bindPassword。

2.4.5 重启 sonar

成功的话,可以从 sonar 日志中看到成功信息

2.5 Sonar-Scanner 客户端配置

为了便于维护、复用,客户端(当然也可以在服务器端所在的机器上执行)统一采用命令行方式扫描。

2.5.1 工具全局配置

配置服务:

$ sudo ln -s /home/sonar/sonar-scanner/bin/sonar-scanner/usr/bin/sonar-scanner

修改配置文件:

$ vi sonar-scanner/conf/sonar-scanner.properties

  1. #----- DefaultSonarQube server
  2. sonar.host.url=http://101.201.39.57:9000
  3. sonar.login=xxxxx
  4. #----- Default sourcecode encoding
  5. sonar.sourceEncoding=UTF-8

注:sonar-scanner 扫描结果上传至 sonar服务器端,需要授权,故在这里配置全局上传账号信息(当然也可以按单项目单独配置)。配置参数如下:

sonar.login 登录账号,或者用户口令码

sonar.passwd 登录密码

如果使用了用户口令码,那 sonar.passwd 这个参数就不需要了。

用户口令码生成方式如下:

入口:Administration > Security

2.5.2 工程配置

添加sonar-project.properties,如:

  1. sonar.projectKey=java-sonar-runner-test
  2. sonar.projectName=java-sonar-runner-test
  3. sonar.projectVersion=1.0
  4. # Set modules IDs
  5. sonar.modules=module-one,module-two
  6. # Modules inheritproperties set at parent level
  7. sonar.sources=src
  8. sonar.language=java
  9. sonar.java.libraries=build
  10. sonar.branch=newbranch

直接执行sonar-scanner 即可

【指导】SonarQube 部署说明的更多相关文章

  1. SonarQube部署及代码质量扫描入门教程

    一.前言 1.本文主要内容 CentOS7下SonarQube部署 Maven扫描Java项目并将扫描结果提交到SonarQube Server SonarQube扫描报表介绍 2.环境信息 工具/环 ...

  2. 持续集成Jenkins+sonarqube部署教程

    1 引言 1.1 文档概要 本文主要介绍jenkins,sonar的安装与集成,基于ant,maven构建.用一个例子介绍jenkins的编译打包部署,代码检查.最后集成jenkins.(现阶段只是简 ...

  3. 代码质量管理sonarqube部署使用

    一.sonarqube的部署 1.下载sonaqube:https://www.sonarqube.org/downloads/ 根据需要下载特定版本: 2.如果通过sonar-scanner进行代码 ...

  4. SonarQube介绍及部署

    SonarQube介绍及部署 编写人:罗旭成 编写时间:2014-5-28 SonarQube简介 SonarQube是一个用于代码质量管理的开源平台(Java开发),用于管理源代码的质量,可以从七个 ...

  5. 部署SonarQube代码检测服务并结合Jenkins使用

    一.SonarQube部署前的内核参数等配置以及java环境配置 1. 修改内核参数配置,使满足环境要求 [root@sonarqube ~]# vim /etc/sysctl.conf vm.max ...

  6. mac 下SonarQube 安装与使用

    参考文件:https://www.jianshu.com/p/aa863cf30406 https://www.jianshu.com/p/b41262fca5b8 jenkins 集成Sonar: ...

  7. 自动代码质量分析(GitLab+JenKins+SonarQube)

    自动代码质量分析(GitLab+JenKins+SonarQube) 1.需求场景 开发提交代码自动执行代码质量分析. 2.所需应用 GitLab,JenKins,SonarQube 3.架构图 4. ...

  8. DevOps之持续集成SonarQube代码质量扫描

    一.SonarQube介绍       SonarQube是一个用于代码质量检测管理的开放平台,可以集成不同的检测工具,代码分析工具,以及持续集成工具.SonarQube 并不是简单地把不同的代码检查 ...

  9. 在 k8S 中搭建 SonarQube 7.4.9 版本(使用 PostgreSQL 数据库)

    搭建 SonarQube 和 PostgreSQL 服务 本文搭建的 SonarQube 版本是 7.4.9-community,由于在官方文档中声明 7.9 版本之后就不再支持使用 MySQL 数据 ...

随机推荐

  1. SQL Server DATEDIFF() 函数(SQL计算时间差)

    select  *   from   task_list  where 1=1 and    datediff(dd,carateTime,getdate()) =0      定义和用法 DATED ...

  2. linux虚拟机与winodows共享文件夹----linux安装VMware tools

    虚拟机里面想要获取原来本机 系统的文件,十分麻烦.为了实现原系统与虚拟机的共享文件夹,可以通过安装vmware tools达到共享目的.   1 安装vmware tools (1)检查虚拟机上是否挂 ...

  3. 怎么发现RAC环境中'library cache pin'等待事件的堵塞者(Blocker)?

    怎么发现RAC环境中的'library cache pin'等待事件的堵塞者(Blocker) 參考自 How to Find the Blocker of the 'library cache pi ...

  4. 树莓派创始人访谈:我们是怎么让大家都成为DIY黑客的

    原文出处: Linux.CN 请记住它是为喜欢折腾的人准备的只要35美元的计算机 我永远不会忘记我第一次看到树莓派的情形.那个小巧的,信用卡大小的计算机,性能却足够强劲,可以作为一般家用PC,媒体中心 ...

  5. AngularJS中module的导入导出

    关于AngularJS中module的导入导出,在Bob告诉我之前还没写过,谢谢Bob在这方面的指导,给到我案例代码. 在AngularJS实际项目中,我们可能需要把针对某个领域的各个方面放在不同的m ...

  6. 在ASP.NET MVC中使用typeahead.js支持预先输入,即智能提示

    使用typeahead.js可以实现预先输入,即智能提示,本篇在ASP.NET MVC下实现.实现效果如下: 首先是有关城市的模型. public class City { public int Id ...

  7. lufylegend:Lbuttion等UI组件

    1,矩形按钮LButtonSample1 首先来看看LButtonSample1按钮的绘制. 在lufylegend.js引擎中可以利用LButton类来添加一个按钮,但是你需要传入按钮弹起和按钮按下 ...

  8. Android Service总结02 service介绍

    Android Service总结02 service介绍 版本 版本说明 发布时间 发布人 V1.0 介绍了Service的种类,常用API,生命周期等内容. 2013-03-16 Skywang ...

  9. h.264 x.264

    这是两个不同类型的东西. x264是视频编码器,H.264是视频编码格式. x264编出来的东西就是h.264的.举个例子来说,x264就好比画图或者photoshop,h.264就好比jpg,bmp ...

  10. 执行tsung时报"Maximum number of concurrent users in a single VM reached

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://ovcer.blog.51cto.com/1145188/1581326 [roo ...