转载: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. Implementation of Serial Wire JTAG flash programming in ARM Cortex M3 Processors

    Implementation of Serial Wire JTAG flash programming in ARM Cortex M3 Processors The goal of the pro ...

  2. python及扩展程序安装

    安装 从官方网站下载python程序,我下载的是python-3.3.2.msi 然后下载python扩展程序,我下载的是pywin32-218.win32-py3.3.exe 最后下载wmi插件,我 ...

  3. 打印函数 lodop

    Lodop属性和方法详解 例子:LODOP.PRINT_INIT("打印任务名");LODOP.SET_PRINT_COPIES(2);bdhtml=window.document ...

  4. PHP项目收藏

    API接口管理系统 Github上的PHP资源汇总大全 Github.com上有哪些比较有趣的PHP项目 SOAP NuSOAP - SOAP Toolkit for PHP [官网] [教程] 通用 ...

  5. Cocos2d-x3.1TestCpp之NewRenderTest Demo分析

    1.代码构成 VisibleRect.h VisibleRect.cpp AppDelegate.h AppDelegate.cpp HelloWorldScene.h HelloWorldScene ...

  6. 自己动手实现一个MVVM库

    我们知道的,常见的数据绑定的实现方法 1.数据劫持(vue):通过Object.defineProperty() 去劫持数据每个属性对应的getter和setter2.脏值检测(angular):通过 ...

  7. GPG入门教程

    原文地址:http://www.ruanyifeng.com/blog/2013/07/gpg.html 作者: 阮一峰 日期: 2013年7月12日 前两篇文章,我介绍了RSA算法. 今天,就接着来 ...

  8. c++ 实现atoi()函数

    1. 问题描写叙述 实现c++函数库中atoi()函数,要考虑到各种特殊情况: 空字符串. +和-号. 字符串前中后n个空格. 溢出. 非数字字符. 2. 解决方式 转换过程并不复杂.复杂的是要考虑到 ...

  9. 媒体文件audio 转 base64 编码 (利用 FileReader & Audio 对象)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  10. sys.usb.config webcam

    setprop persist.sys.usb.config webcamecho 0 > /sys/devices/virtual/android_usb/android0/enableech ...