【指导】SonarQube 部署说明
来源:互联网 发布:数据化分析 编辑:程序博客网 时间:2024/05/06 12:54
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
#!/bin/sh## rc file for SonarQube## chkconfig: 345 96 10# description:SonarQube system (www.sonarsource.org)#### BEGIN INIT INFO# Provides: sonar# Required-Start:$network# Required-Stop:$network# Default-Start: 3 4 5# Default-Stop: 0 1 2 6# Short-Description:SonarQube system (www.sonarsource.org)# Description:SonarQube system (www.sonarsource.org)### END INIT INFO/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
# LDAP configuration# General Configurationsonar.security.realm=LDAPsonar.security.savePassword=trueldap.url=ldap://myserver.mycompany.com# User Configurationldap.user.baseDn=ou=Users,dc=mycompany,dc=comldap.user.request=(&(objectClass=inetOrgPerson)(uid={login}))ldap.user.realNameAttribute=cnldap.user.emailAttribute=mail# Group Configurationldap.group.baseDn=ou=Groups,dc=sonarsource,dc=comldap.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
#----- DefaultSonarQube serversonar.host.url=http://101.201.39.57:9000sonar.login=xxxxx#----- Default sourcecode encodingsonar.sourceEncoding=UTF-8注:sonar-scanner 扫描结果上传至 sonar服务器端,需要授权,故在这里配置全局上传账号信息(当然也可以按单项目单独配置)。配置参数如下:
sonar.login 登录账号,或者用户口令码
sonar.passwd 登录密码
如果使用了用户口令码,那 sonar.passwd 这个参数就不需要了。
用户口令码生成方式如下:
入口:Administration > Security
2.5.2 工程配置添加sonar-project.properties,如:
sonar.projectKey=java-sonar-runner-testsonar.projectName=java-sonar-runner-testsonar.projectVersion=1.0# Set modules IDssonar.modules=module-one,module-two# Modules inheritproperties set at parent levelsonar.sources=srcsonar.language=javasonar.java.libraries=buildsonar.branch=newbranch直接执行sonar-scanner 即可
- 【指导】SonarQube 部署说明
- sonarqube安装部署过程
- 将Sonarqube部署到Kubernetes
- 自动化部署入门Git+Nexus+SonarQube+Hudson
- 持续集成Jenkins+sonarqube部署教程
- SonarQube Win安装部署与实践
- SonarQube
- SonarQube
- sonarqube
- powerbi内部部署安装指导
- Storm-0.9.0.1安装部署 指导
- Storm-0.9.0.1安装部署 指导
- Storm-0.9.0.1安装部署 指导
- MySQL半同步+MHA+Keepalived部署指导
- Oracle Hands on填写指导说明
- 《新编数据结构算法考研指导 》的说明
- nrf51822开发指导之文档资料说明
- SVN 详细配置指导说明及命令说明
- Arithmetic 正整数的四则运算
- 多校训练-Bubble Sort(树状数组+离散化)
- 关于tableview 编辑下多选择处理
- HDU 3038 How Many Answers Are Wrong
- mac brew 安装使用
- 【指导】SonarQube 部署说明
- HDU 1025 Constructing Roads In JGShining's Kingdom
- web 开发一个能进行人员管理(查询,删除,添加)的应用
- //切割字符串
- vector的push_back
- 谈谈C里面的指针之二【指针的加减法】
- 使用SQLyog将sqlserver的数据及表结构迁移到mysql中
- php基础知识
- 每日总结 2016年七月28日一个地方的异常会引发其他地方的异常