1SONARQUBE简介1

1.1SONARQUBE安装需求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安装JDK2

2.2.2配置JDK及测试3

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

2.3.1安装Maven构建工具3

2.3.2配置Maven及测试4

2.4MYSQL数据安装及配置4

2.4.1MySQL安装4

2.4.2配置MySQL5

2.4.3启动MySQL5

2.4.4创建SonarQube所需的数据库6

3SONARQUBE安装及配置6

3.1SONARQUBE安装6

3.2配置SONARQUBE6

3.3启动SONARQUBE6


1SonarQube简介

1.1SonarQube安装需求

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

1.1.1硬件需求

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

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

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

1.1.2平台需求

JAVA类型版本

Oracle JRE7u75+或8

OpenJDK7u75+或8

IBM JRE不支持


1.1.3数据库需求

数据库类型版本

SQL Server2008

2012

2014

MySQLSonarQube3.5开始支持MySQL5.6

SonarQube4.4开始支持MySQL5.7

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

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

Oracle不支持10G

11G

12G

XE

PostgreSQL8.x

9.x


1.1.4浏览器需求

浏览器版本

Microsoft Internet Explorer不支持IE9

不支持IE10

IE11

Microsoft Edge最近版本

Mozilla Firefox最近版本

Google Chrome最近版本

Safari最近版本


2基础环境准备

整个流程如下:

 wKiom1dPrf2AqNBsAAH1lHtmGeY170.jpg-wh_50


2.1测试环境准备

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

2.1.1操作系统

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

2.1.2安装软件一览

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

软件名版本安装位置

Oracle JDK1.8.0_65/usr/local/jdk

Apache Maven3.3.9/usr/local/maven

SonarQube4.5.7/usr/local/sonarqube

MySQL5.5.32/application/mysql


2.2安装及配置Oracle JDK环境

2.2.1安装JDK

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

[root@kvm01 ~]# cd /usr/local/src/

[root@kvm01 src]# tar -xf jdk-8u65-linux-x64.tar.gz -C /usr/local/

[root@kvm01 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文件,让我们设置的环境变量生效,操作如下:

[root@kvm01 ~]# . /etc/profile


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

[root@kvm01 ~]# 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目录下。接下来进行解压缩,操作如下:

[root@kvm01 ~]# cd /usr/local/src/

[root@kvm01 src]# tar -xf apache-maven-3.3.9-bin.tar.gz -C /usr/local/

[root@kvm01 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.4MySQL数据安装及配置

2.4.1MySQL安装

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

[root@kvm01 src]# yum install -y ncurses-devel libaio-devel cmake

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

[root@kvm01 ~]# cd /usr/local/src/

[root@kvm01 src]# tar -xf mysql-5.5.32.tar.gz

[root@kvm01 src]# cd mysql-5.5.32


编译之前增加MySQL用户,

[root@kvm01 src]# groupadd mysql

[root@kvm01 src]# useradd mysql -s /sbin/nologin -M -g mysql


接下来进行编译安装,

[root@kvm01 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操作,这里的编译过程省略之,操作如下:

[root@kvm01 mysql-5.5.32]# make && make install


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

[root@kvm01 ~]# 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;

3SonarQube安装及配置

3.1SonarQube安装

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

[root@kvm01 ~]# /usr/local/sonarqube/bin/linux-x86-64/sonar.sh start


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