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里粘贴复制的,格式太乱了,格式较好的文档在附件中。供有需要的同志下载。