SonarQube在CentOS上的安装
1 简介
SonarQube 是一个用于代码质量管理的开放平台。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。与持续集成工具(例如 Hudson/Jenkins 等)不同,Sonar 并不是简单地把不同的代码检查工具结果(例如 FindBugs,PMD 等)直接显示在 Web 页面上,而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。
2. 安装准备
1)SonarQube 的版本多,需要提前注意一下,选择合适的版本。从 http://www.sonarqube.org/downloads/ 中看到,当前SonarQube有5.6的长期支持版本和SonarQube 6.1 的新版本,但5.6和6.1的代码可能差别不是特别大,有些bug两个版本都被修复的。
2)无论你选择哪个版本,都依赖于Java1.8和MySQL5.6 以上的版本(如果你想用起来的话)。
Java下载JDK包即可,MySQL的下载从官方网站上下载
3. 安装
1)安装Java
解压即可用,设置JAVA_HOME
export JAVA_HOME="/search/env/jdk"
export PATH=$PATH:/sbin:$JAVA_HOME/bin/
export CLASSPATH=./:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
2)安装MySQL
参考上一篇文章,安装好后,设置sonar用的用户名和数据库
create user 'sonar'@'localhost' identified by 'sonar@2016';
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
grant all privileges on sonar.* to 'sonar'@'localhost';
3)安装SonarQube
本文选用的是5.6.3版本的,解压到本地即可,修改conf,
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar@2016
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false #可以用默认的,不修改
sonar.web.host=192.0.0.1
sonar.web.port=
sonar.web.context=/sonar
三个需要注意的地方,后面参数不用有引号,添加useSSL=false参数能够避免SSL报错。
context的意思是,寻访的path,如上面的配置访问的url就是
http://192.0.0.1:80/sonar
启动服务
sonarqube/bin/linux-x86-/sonar.sh start
访问url,用管理员(admin/admin)账号登陆,找到插件中心(被隐藏得有些深),安装中文插件包和升级其它插件。
如果没有网络,可以将对应的jar下载下来,放到extensions/plugins下,重启服务即可,plugin有问题的话,可能启动不起来,
看下log/sonar.log查看错误日志即可。
4. 安装 sonar-scanner
SonarQube是一个UI,还需要其他工具的配合,其中sonar-scanner就是重要的一个。
参考文献
http://jaminzhang.github.io/ci/cd/Sonar-Installation/
SonarQube在CentOS上的安装的更多相关文章
- Cacti中文版在Centos上的安装
最近老有人问Cacti中文版在哪下载啊怎么安装啊,我在这里一遍给大家讲解了:Cacti中文版在Centos上的安装 1.基本安装 cacti是运作在apache+php+mysql+net-snmp工 ...
- MongoDB 3.2 在CentOS 上的安装和配置
MongoDB 3.2 在CentOS 上的安装和配置 2016-01-06 14:41:41 发布 您的评价: 0.0 收藏 0收藏 一.安装 编辑/etc/yum.re ...
- Centos上的安装openoffice+unoconv+swftools (转)
############################## # swftools的安装 # ############################## 1.安装所需的库和组件 yum ...
- centos上yum安装异常处理
最近在centos上通过yum来安装程序,出下了以下问题: Loaded plugins: fastestmirror Setting up Install Process Loading mirro ...
- Docker(1)在CentOS上的安装与卸载
一. Docker的安装 CentOS7 上安装: 1. 卸载旧版本 $ sudo yum remove docker \ docker-client \ docker-client-latest ...
- CentOS上firefox安装flash
CentOS下firefox安装flash说明 CentOS下自带了firefox,但没有flash插件的,按它自己的提示安装不成功,需要手动安装,如下: 1.打开flash官网,http://lab ...
- centos上如何安装mysql
centos可以使用yum安装mysql 但是版本很低,且不灵活. 本文将介绍如何使用安装包安装mysql http://dev.mysql.com/downloads/mysql/ 下载mysql ...
- FastDFS在centos上的安装配置与使用
FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的问题.特别适合以文件为载体的在线服务.(百 ...
- 转载:centos上yum安装apache+php+mysql等
1. 更新系统内核到最新. [root@linuxfei ~]#yum -y update 系统更新后,如果yum安装时提示错误信息,请执行以下命令修复. [root@linuxfei ~]#rpm ...
随机推荐
- Android中轻松使用线程
当你第一次启动一个Android程序的时候,一个被 称为"main"的线程就被自动创建了.它被称为主线程或者UI线程,它是非常重要的因为负责分发事件给对应的widget,还包含画 ...
- 《修炼Java开发技术 在架构中体验设计模式和算法之美》 - 书摘精要
(P7) 建议直接加入到软件公司中去,这样会学到很多实际的东西: 程序员最主要的发展方向是资深技术专家,无论是 Java..Net 还是数据库领域,都要首先成为专家,然后才可能继续发展为架构师: 增强 ...
- New Concept English three (32)
26w/m 68 The salvage operation had been a complete failure. The small ship, Elkor, which had been se ...
- 【SQL查询】视图_view
转自:http://database.e800.com.cn/articles/2009/719/1248015564465_1.html 视图是从一个或几个基本表(或视图)导出的表.它与基本表不同, ...
- NLTK下载语言素材中碰到的certificate verify failed (_ssl.c:749)
NLTK是什么? NLTK是一个开源的项目,包含:Python模块,数据集和教程,用于NLP的研究和开发. NLTK由Steven Bird和Edward Loper在宾夕法尼亚大学计算机和信息科学系 ...
- js实现显示系统时间的表盘
核心: 1,document.styleSheets 修改css里的keyframes属性值 2,表针角度的计算 最终显示效果: <!DOCTYPE html> <html> ...
- DataBase project physical design
DataBase physical design //Table: /*student*/ create table student( id int not null primary key, /*学 ...
- Storm开发过程中的问题与建议
转自:http://blog.csdn.net/ouyang111222/article/details/50061305 (一) topology层级建议设不要设置过多 storm讲究是流式计算,s ...
- opencv之图像阈值化处理
一.函数简介 1.threshold-图像简单阈值化处理 函数原型:threshold(src, thresh, maxval, type, dst=None) src:图像矩阵 thresh:阈值 ...
- 中 varStatus的属性简介
varStatus是<c:forEach>jstl循环标签的一个属性,varStatus属性.就拿varStatus="status"来说,事实上定义了一个status ...