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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了代码质量管理之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里粘贴复制的,格式太乱了,格式较好的文档在附件中。供有需要的同志下载。

本文出自 “固态U盘” 博客,请务必保留此出处http://lavenliu.blog.51cto.com/5060944/1785385

以上是关于代码质量管理之SonarQube安装实践的主要内容,如果未能解决你的问题,请参考以下文章

devops-持续集成管理之SonarQube

代码质量开发平台之Sonar

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

SonarQube代码质量管理平台安装

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

SonarQube代码质量管理平台安装与使用