zoukankan      html  css  js  c++  java
  • 【指导】SonarQube 部署说明

    转载: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

    [plain] view plain copy
     
    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

    [plain] view plain copy
     
    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

    [plain] view plain copy
     
    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,如:

    [plain] view plain copy
     
    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 即可

  • 相关阅读:
    linux
    linux
    linux
    linux
    linux
    linux
    linux
    idea插件篇之java内存分析工具(JProfiler)
    Jmeter(线程组+http请求+汇总报告)
    ZK客户端zkClient.bat
  • 原文地址:https://www.cnblogs.com/ceshi2016/p/9084212.html
Copyright © 2011-2022 走看看