代码质量管理之SonarQube安装实践

1 SONARQUBE简介 1

1.1 SONARQUBE安装需求 1

1.1.1 硬件需求 1

1.1.2 平台需求 1

1.1.3 数据库需求 1

1.1.4 浏览器需求 1

2 基础环境准备 2

2.1 测试环境准备 2

2.1.1 操作系统 2

2.1.2 安装软件一览 2

2.2 安装及配置ORACLE JDK环境 2

2.2.1 安装JDK 2

2.2.2 配置JDK及测试 3

2.3 安装及配置MAVEN构建工具 3

2.3.1 安装Maven构建工具 3

2.3.2 配置Maven及测试 4

2.4 MYSQL数据安装及配置 4

2.4.1 MySQL安装 4

2.4.2 配置MySQL 5

2.4.3 启动MySQL 5

2.4.4 创建SonarQube所需的数据库 6

3 SONARQUBE安装及配置 6

3.1 SONARQUBE安装 6

3.2 配置SONARQUBE 6

3.3 启动SONARQUBE 6

1 SonarQube简介

1.1 SonarQube安装需求

要安装Sonar,需要各方面都要满足要求才是,以下是按照官方给出的要求一一列出来。

1.1.1 硬件需求

1. SonarQube至少需要2GB内存空间以高效进行,还需要1GB的内存空间为操作系统预留;

2. 根据自己项目的代码量来规划好硬盘空间;

3. SonarQube运行时,需要进行大量的IO操作,因此,需要安装在读写性能均比较高效的硬盘上。

1.1.2 平台需求

JAVA类型 版本

Oracle JRE 7u75+或8

OpenJDK 7u75+或8

IBM JRE 不支持

1.1.3 数据库需求

数据库类型 版本

SQL Server 2008

2012

2014

MySQL SonarQube3.5开始支持MySQL5.6

SonarQube4.4开始支持MySQL5.7

只支持InnoDB存储引擎,MyISAM不支持

仅支持SonarQube自带的mysql-connecter-java jar包

Oracle 不支持10G

11G

12G

XE

PostgreSQL 8.x

9.x

1.1.4 浏览器需求

浏览器 版本

Microsoft Internet Explorer 不支持IE9

不支持IE10

IE11

Microsoft Edge 最近版本

Mozilla Firefox 最近版本

Google Chrome 最近版本

Safari 最近版本

2 基础环境准备

整个流程如下:

2.1 测试环境准备

按照SonarQube的安装需求,我们需要做如下的准备工作,准备工作做得充分,使得我们本次的搭建得以顺利的完成。

2.1.1 操作系统

本次的SonarQube是在CentOS6U5 64位操作系统上进行安装的。

2.1.2 安装软件一览

这里把所有涉及到软件罗列出来,如下表:

软件名 版本 安装位置

Oracle JDK 1.8.0_65 /usr/local/jdk

Apache Maven 3.3.9 /usr/local/maven

SonarQube 4.5.7 /usr/local/sonarqube

MySQL 5.5.32 /application/mysql

2.2 安装及配置Oracle JDK环境

2.2.1 安装JDK

JDK的安装很简单,只需从Oracle官方下载对应版本的JDK,然后解压到系统的某个目录即可使用。这里的下载省略之,假设已经下载好了JDK软件包并放置于/usr/local/src/目录下。接下来解压到/usr/local目录,并重名为/usr/local/jdk,操作如下:

[[email protected] ~]# cd /usr/local/src/

[[email protected] src]# tar -xf jdk-8u65-linux-x64.tar.gz -C /usr/local/

[[email protected] src]# mv /usr/local/jdk1.8.0_65/ /usr/local/jdk

2.2.2 配置JDK及测试

解压完毕,就可以设置JDK相关的环境变量了,在/etc/profile文件中追加如下几行,操作如下:

JAVA_HOME=/usr/local/jdk

JRE_HOME=${JAVA_HOME}/jre

CLASS_PATH=${JAVA_HOME}/lib:${JRE_HOME}/lib

PATH=$PATH:$JAVA_HOME/bin

export JAVA_HOME

export JRE_HOME

添加完毕,重新加载一下/etc/profile文件,让我们设置的环境变量生效,操作如下:

[[email protected] ~]# . /etc/profile

接下来我们在命令行进行如下测试,验证Java环境是否可用,操作如下:

[[email protected] ~]# java -version

java version "1.8.0_65"

Java(TM) SE Runtime Environment (build 1.8.0_65-b17)

Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)

有了以上输出,说明我们的Java的JDK环境已经配置完毕了。接下来配置Maven工具。

2.3 安装及配置Maven构建工具

Apache Maven,是一个软件(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。

Maven也可被用于构建和管理各种项目,例如C#,Ruby,Scala和其他语言编写的项目。Maven曾是Jakarta项目的子项目,现为由Apache软件基金会主持的独立Apache项目。

2.3.1 安装Maven构建工具

Maven的安装也非常简单,到官方网站下载安装包,进行解压缩即可使用。这里假设已经下载好Maven的软件包并放置于/usr/local/src目录下。接下来进行解压缩,操作如下:

[[email protected] ~]# cd /usr/local/src/

[[email protected] src]# tar -xf apache-maven-3.3.9-bin.tar.gz -C /usr/local/

[[email protected] src]# ln -s /usr/local/apache-maven-3.3.9/ /usr/local/maven

2.3.2 配置Maven及测试

在Maven的安装目录的conf目录下,存放着Maven的主配置文件/usr/local/maven/conf/settings.xml,在profiles字段内新增profile字段,

<profile>

<id>sonar</id>

<activation>

<activeByDefault>true</activeByDefault>

</activation>

<properties>

<host.url>http://192.168.20.133:9000/</sonar.host.url>

<jdbc.url>jdbc:mysql://127.0.0.1:3306/sonar</sonar.jdbc.url>

</properties>

</profile>

这里使用的是本地的MySQL数据库sonar库,如果是其他机器上的MySQL数据库,可以根据实际情况进行相应地修改之,其通用的格式为:

jdbc:mysql://<mysql_server>:<port>/<db_name>

2.4 MySQL数据安装及配置

2.4.1 MySQL安装

这里使用MySQL的源码进行编译安装。在安装之前,需要安装编译安装MySQL的依赖包,操作如下:

[[email protected] src]# yum install -y ncurses-devel libaio-devel cmake

接下来进行编译安装。这里假设已经下载好MySQL的源码包,并放置于/usr/local/src目录下,接下来解压并编译安装MySQL,操作如下:

[[email protected] ~]# cd /usr/local/src/

[[email protected] src]# tar -xf mysql-5.5.32.tar.gz

[[email protected] src]# cd mysql-5.5.32

编译之前增加MySQL用户,

[[email protected] src]# groupadd mysql

[[email protected] src]# useradd mysql -s /sbin/nologin -M -g mysql

接下来进行编译安装,

[[email protected] mysql-5.5.32]# cmake . \

-DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 \

-DMYSQL_DATADIR=/application/mysql-5.5.32/data \

-DMYSQL_UNIX_ADDR=/application/mysql-5.5.32/sock/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \

-DENABLED_LOCAL_INFILE=ON \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_FEDERATED_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \

-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \

-DWITH_FAST_MUTEXES=1 \

-DWITH_ZLIB=bundled \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_READLINE=1 \

-DWITH_EMBEDDED_SERVER=1 \

-DWITH_DEBUG=0

如果没有问题,接下来进行make与make install操作,这里的编译过程省略之,操作如下:

[[email protected] mysql-5.5.32]# make && make install

编译安装完毕,接下来设置MySQL目录的软链接,以便后续升级MySQL数据库版本,

[[email protected] ~]# ln -s /application/mysql-5.5.32 /application/mysql

2.4.2 配置MySQL

default-storage-engine=innodb

collation-server=utf8_general_ci

init-connect=‘SET NAMES utf8‘

character-set-server=utf8

2.4.3 启动MySQL

由于是新安装的数据库,并没有初始化的数据。接下来,我们使用mysql_install_db脚本进行MySQL初始化数据的安装。操作如下:

2.4.4 创建SonarQube所需的数据库

mysql> grant all privileges on *.* to ‘sonar‘@‘localhost‘ identified by ‘sonar‘;

mysql> create database sonar default character set utf8 collate utf8_general_ci;

mysql> flush privileges;

3 SonarQube安装及配置

3.1 SonarQube安装

3.2 配置SonarQube

编辑SonarQube的配置文件/usr/local/sonarqube/conf/sonar.properties,把相关内容修改为如下内容:

sonar.jdbc.username=sonar

sonar.jdbc.password=sonar

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

sonar.web.javaOpts=-server

sonar.web.host=192.168.20.133

sonar.web.port=9000

接下来修改/usr/local/sonarqube/conf/wrapper.conf配置文件,修改如下一行:

wrapper.java.command=/usr/local/jdk/bin/java

3.3 启动SonarQube

[[email protected] ~]# /usr/local/sonarqube/bin/linux-x86-64/sonar.sh start

直接从Word里粘贴复制的,格式太乱了,格式较好的文档在附件中。供有需要的同志下载。

时间: 2024-08-02 22:27:07

代码质量管理之SonarQube安装实践的相关文章

代码质量管理平台--sonarqube安装

前置依赖mysql 5.6 or 5.7jdk 1.81.下载https://www.sonarqube.org/2.安装unzip并解压sonarqube并移动到/usr/localyum install unzipunzip sonarqube-6.7.4.zipmv sonarqube-6.7.4 /usr/local/3.mysql里新增数据库CREATE DATABASE sonar DEFAULT CHARACTER SET utf8;4.修改sonarqube相应的配置vim /u

SonarQube代码质量管理平台的安装与配置

一.SonarQube的介绍 SonarQube是一个管理代码质量的开放平台. 可以从七个维度检测代码质量(为什么要用SonarQube): (1)  复杂度分布(complexity): :代码复杂度过高将难以理解.难以维护 (2)  重复代码(duplications): :程序中包含大量复制粘贴的代码是质量低下的表现 (3)  单元测试(unit tests): :统计并展示单元测试覆盖率 (4)  编码规范(coding rules) :通过Findbugs,PMD,CheckStyle

持续集成篇SonarQube 代码质量管理平台的安装

持续集成篇 SonarQube 代码质量管理平台的安装 -------------------------------- 1.SonarQube的介绍 SonarQube是一个管理代码质量的开放平台. 可以从七个维度检测代码质量(为什么要用SonarQube): (1) 复杂度分布(complexity):代码复杂度过高将难以理解.难以维护 (2) 重复代码(duplications):程序中包含大量复制粘贴的代码是质量低下的表现 (3) 单元测试(unit tests):统计并展示单元测试覆盖

代码质量管理平台SonarQube的安装、配置与使用

SonarQube是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误,下面将会介绍一下这个工具的安装.配置以及使用. 准备工作: 1.jdk(不再介绍) 2.sonarqube:http://www.sonarqube.org/downloads/ 3.SonarQube+Scanner:https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-2.5.zip 4.mysql数据库(

Objective C静态代码扫描和代码质量管理 OClint + SonarQube

OClint是针对C, C++及Objective C代码的静态扫描分析工具,而SonarQube是一个开源的代码质量管理平台.本文将实现将OClint的扫描结果导入到SonarQube中,已实现对Objective C代码质量的管理. 操作系统: Mac OS X 10.9 所需工具: SonarQube : sonarqube-4.4 - http://www.sonarqube.org/downloads/ Sonar Runner : sonar-runner-dist-2.4 - ht

代码质量管理工具——SonarQube

写在前面 SonarQube(简称Sonar)是管理代码质量的开放平台,它可以快速地对代码质量进行分析,并给出合理的解决方案,提高管理效率,保证代码质量. SonarQube的流行,在于以下几点: 开源 支持超过25种语言 可以通过ecplise等IDE集成,简便使用 详细的文档   资源 Sonar [官网],可能需要FQ访问.Sonar [下载]及[文档]SonarQube Scanners (扫描器)[下载及文档] 安装Sonar 下载解压 下载好SonarQube压缩包,解压后,打开根目

SonarQube代码质量管理平台的安装

IP:192.168.4.221 环境:CentOS 6.6.JDK7.MySQL5.1 .SonarQube-4.5.4(LTS) root用户操作 准备工作:已安装JDK7并配置好了环境变量 1 .安装MySQL5.1 (可参考前面SVN管理平台的MySQL安装步骤,如果已安装则无需安装) # rpm -qa | grepmysql      ## 查看该操作系统上是否已经安装了mysql数据库, 有的话,可以通过 rpm -e 命令 或者rpm -e --nodeps 命令来卸载掉 # y

持续集成篇-- SonarQube代码质量管理平台的安装

视频教程:http://www.roncoo.com/course/view/85d6008fe77c4199b0cdd2885eaeee53 IP:192.168.4.221 环境:CentOS 6.6.JDK7.MySQL5.1 .SonarQube-4.5.4(LTS) root用户操作 准备工作:已安装JDK7并配置好了环境变量 1 .安装MySQL5.1 (可参考前面SVN管理平台的MySQL安装步骤,如果已安装则无需安装) # rpm -qa | grep mysql      ##

[转]SonarQube代码质量管理实践

http://blog.csdn.net/hunterno4/article/details/11687269 Sonar简介 Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量 通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测 sonarQube能带来什么? Developers' Seven Deadly Sins1.糟糕的复杂度分布  文件.类.