【指导】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 -pmysql>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 Configuration
- sonar.security.realm=LDAP
- sonar.security.savePassword=true
- ldap.url=ldap://myserver.mycompany.com
- # User Configuration
- ldap.user.baseDn=ou=Users,dc=mycompany,dc=com
- ldap.user.request=(&(objectClass=inetOrgPerson)(uid={login}))
- ldap.user.realNameAttribute=cn
- ldap.user.emailAttribute=mail
- # Group Configuration
- ldap.group.baseDn=ou=Groups,dc=sonarsource,dc=com
- 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
- #----- DefaultSonarQube server
- sonar.host.url=http://101.201.39.57:9000
- sonar.login=xxxxx
- #----- Default sourcecode encoding
- sonar.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-test
- sonar.projectName=java-sonar-runner-test
- sonar.projectVersion=1.0
- # Set modules IDs
- sonar.modules=module-one,module-two
- # Modules inheritproperties set at parent level
- sonar.sources=src
- sonar.language=java
- sonar.java.libraries=build
- sonar.branch=newbranch
直接执行sonar-scanner 即可
【指导】SonarQube 部署说明的更多相关文章
- SonarQube部署及代码质量扫描入门教程
一.前言 1.本文主要内容 CentOS7下SonarQube部署 Maven扫描Java项目并将扫描结果提交到SonarQube Server SonarQube扫描报表介绍 2.环境信息 工具/环 ...
- 持续集成Jenkins+sonarqube部署教程
1 引言 1.1 文档概要 本文主要介绍jenkins,sonar的安装与集成,基于ant,maven构建.用一个例子介绍jenkins的编译打包部署,代码检查.最后集成jenkins.(现阶段只是简 ...
- 代码质量管理sonarqube部署使用
一.sonarqube的部署 1.下载sonaqube:https://www.sonarqube.org/downloads/ 根据需要下载特定版本: 2.如果通过sonar-scanner进行代码 ...
- SonarQube介绍及部署
SonarQube介绍及部署 编写人:罗旭成 编写时间:2014-5-28 SonarQube简介 SonarQube是一个用于代码质量管理的开源平台(Java开发),用于管理源代码的质量,可以从七个 ...
- 部署SonarQube代码检测服务并结合Jenkins使用
一.SonarQube部署前的内核参数等配置以及java环境配置 1. 修改内核参数配置,使满足环境要求 [root@sonarqube ~]# vim /etc/sysctl.conf vm.max ...
- mac 下SonarQube 安装与使用
参考文件:https://www.jianshu.com/p/aa863cf30406 https://www.jianshu.com/p/b41262fca5b8 jenkins 集成Sonar: ...
- 自动代码质量分析(GitLab+JenKins+SonarQube)
自动代码质量分析(GitLab+JenKins+SonarQube) 1.需求场景 开发提交代码自动执行代码质量分析. 2.所需应用 GitLab,JenKins,SonarQube 3.架构图 4. ...
- DevOps之持续集成SonarQube代码质量扫描
一.SonarQube介绍 SonarQube是一个用于代码质量检测管理的开放平台,可以集成不同的检测工具,代码分析工具,以及持续集成工具.SonarQube 并不是简单地把不同的代码检查 ...
- 在 k8S 中搭建 SonarQube 7.4.9 版本(使用 PostgreSQL 数据库)
搭建 SonarQube 和 PostgreSQL 服务 本文搭建的 SonarQube 版本是 7.4.9-community,由于在官方文档中声明 7.9 版本之后就不再支持使用 MySQL 数据 ...
随机推荐
- Delphi中StrToDateTime函数TFormatSettings参数的使用
var FSetting : TFormatSettings; DateTime1: tDateTime; begin FSetting := TFormatSettings.Cr ...
- Snail—UI学习之得到某组件的方法
第一种方法:依据传入函数的參数对象的tag属性区分 比方 多个button运行同一个方法,可是不同的方法运行时.里面的逻辑又不一样 那就得加以区分 这时能够用tag来差别 //再新建一个Button ...
- JS --- 三目运算符
1.什么是三目运算:(布尔表达式 ? 值0:值1;) 5>3?alert('5大'):alert('3大'); 即 if(5>3){alert('5大')}else{alert('3 ...
- 亿万第一至二季/全集Billions迅雷下载
英文全名Billions,第1季(2016)Showtime. 本季看点:<亿万>讲述了纽约市政治与经济领域.关于金钱的一场较量.故事主要描述两个华尔街重量级人物之间的战争.精明.强硬的检 ...
- 在Android中实现图片的裁剪
本实例的功能是将用户选择的图片裁剪后放入ImagView,布局文件是个Button和ImageView.为了图片的正常显示,我们在裁剪后先将裁剪好的图片先存放到SD卡中,这样就能在以后开启应用 ...
- Calendar获取当天的初始时间,当月的初始时间,当年的初始时间
如下:
- 关于mysql中information_schema.tables
项目中出现这样一个SQL语句,现记录如下: @Select("select table_name tableName, engine, table_comment tableComment, ...
- JQuery中的对象和事件
一:JQuery 对象和 Dom 对象 在使用 JQuery 过程中,我们一般(也是绝大多数情况下,除非我们使用了第二个框架)只有两类对象,即:JQuery 对象和 Dom 对象.Dom 对象指的是普 ...
- 虚拟私有云(Virtual Private Cloud,专有网络)配置方式总结
虚拟私有云 虚拟私有云(Virtual Private Cloud)是用户在云上申请的隔离的.私密的虚拟网络环境.用户可以自由配置VPC内的IP地址段.子网.安全组等子服务,也可以申请弹性带宽和弹性公 ...
- Docker 常用命令与操作
介绍 此命令集合版本为 1.11.1 及以上 基础类 查看docker信息 # 查看docker版本 docker version # 显示docker系统的信息 docker info # 日志信息 ...