【指导】SonarQube 部署说明

摘要:
Sonar可以支持大多数主流的关系数据库。我们使用MySQL。安装期间必须设置管理员密码:#apt-geinstallmysqlservermysqlclientlibmysqlclient-dev注意:版本必须大于5.6,必须设置为“UTF-8”,语言必须为“英语”。

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

【指导】SonarQube 部署说明第1张
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 即可

免责声明:文章转载自《【指导】SonarQube 部署说明》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux下的shell与make[转]Windows上的valgrinddeleaker下篇

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

相关文章

ubuntu下crontab编辑方法的设定

在ubuntu下,首次编辑crontab计划任务的时候,会提示让选择编辑器。由于对nano编辑器不是很熟悉,若是选择nova编辑的话,会有些麻烦。可以重置编辑器,方法如下:[root@wang ~]# select-editorSelect an editor. To change later, run 'select-editor'. 1. /bin/e...

tomcat进程不能完全关闭的处理办法

tomcat shutdown后,进程还存在linux系统中的解决办法 1、修改bin/catalina.sh文件 查找PRGDIR=`dirname "$PRG"` 这一行; 在这一行的下面增加如下3行语句: if [ -z "$CATALINA_PID" ]; then CATALINA_PID=$PRGDIR/CATALINA_PID fi 功能:...

mysql5.7密码修改与报错分析

1、修改密码 修改密码: vim /etc/my.cnf 的mysqld字段加入skip-grant-tables 重启MySQL,service mysqld restart 终端输入 mysql 直接登录MySQL数据库,然后use mysql update mysql.user set authentication_string=password('...

mysql性能监控相关

如果是root帐号,你能看到所有用户的当前连接。如果是其它普通帐号,只能看到自己占用的连接 怎么进入mysql命令行呢? mysql的安装目录下面有个bin目录,先用命令行进入该目录,然后用 mysql -uroot -p123456 来登录(注意:用户名和密码不用包含“”) 命令: show processlist; 如果是root帐号,你能看到所有用户...

mysql 修改字符集

1: 在Mysql的配置文件 my.ini (一般在c:/windows/下面) 里加上服务器的默认编码配置: default-character-set=utf82: 修改你的数据库的字符编码:进入Mysql数据库,通过命令修改你的数据库字符编码: ALTER DATABASE `databaseName` DEFAULT CHARACTER SET u...

基于PySpark的网络服务异常检测系统 (四) Mysql与SparkSQL对接同步数据 kmeans算法计算预测异常

基于Django Restframework和Spark的异常检测系统,数据库为MySQL、Redis, 消息队列为Celery,分析服务为Spark SQL和Spark Mllib,使用kmeans和随机森林算法对网络服务数据进行分析;数据分为全量数据和正常数据,每天通过自动跑定时job从全量数据中导入正常数据供算法做模型训练。 使用celery批量导入...