sonarqube结合maven环境配置

1、环境说明

sonarqube安装环境:

centos7

下载最新版本

https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.5.zip

需要注意的是官网有四个版本,社区版、开发者版、企业版、数据中心版,可以在网站 https://www.sonarsource.com/plans-and-pricing 中看到,后三个需要收费,所以要下载社区版。

汉化包下载,下载与自己版本相匹配的,下载的7.4版本

https://github.com/SonarQubeCommunity/sonar-l10n-zh 

2、服务器java版本为1.8

# java -version

openjdk version "1.8.0_31"

OpenJDK Runtime Environment (build 1.8.0_31-b13)

OpenJDK 64-Bit Server VM (build 25.31-b07, mixed mode)

配置环境变量

# vi /etc/profile

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.31-2.b13.el7.x86_64/jre

export PATH=$PATH:$JAVA_HOME/bin

# source /etc/profile

3、解压

# unzip sonarqube-7.5.zip -d /data/opt

4、汉化

在自己电脑解压汉化包sonar-l10n-zh-master.zip,使用Eclipse导入解压后的项目,右键点击 pom.xml -- Run As -- Run Configuretion 

左边 Maven Build 选择自己的项目,设置 Goals: clean package ,点击 Run 开始编译

最后编译成功后在项目的 target 目录下生成一个jar包,把该jar包上传到sonarqube服务所在的机器上,拷贝到/data/opt/sonarqube-7.5/extensions/plugins 目录下 

5、为sonarqube创建库和账户

登录数据库服务器

mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;

mysql> CREATE USER 'sonar' IDENTIFIED BY 'sonar';

mysql> GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';

mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';

mysql> FLUSH PRIVILEGES;

6、配置并启动

不要使用root账户启动服务

# chown -R hduser0401:hadoop /data2/opt/sonarqube-7.4

# su hduser0401

$ vi /data2/opt/sonarqube-7.4/conf/sonar.properties 

端口的配置按照默认配置

sonar.web.port=9000

sonar.search.port=9001

配置数据库信息

sonar.jdbc.username=sonar

sonar.jdbc.password=sonar

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

$ cd /data/opt/sonarqube-7.4

$ ./bin/linux-x86-64/sonar.sh start

如果服务启动失败,需要检查logs目录下的几个关键日志文件,es.logs、sonar.logs、web.logs ,查看异常信息

通常的异常情况:

文件权限问题

使用root用户启动服务

端口被占用

数据库信息配置错误

7、访问页面

http://SONARSERVER_IP:9000

默认账号密码

账户:admin

密码:admin

8、maven配置

本地电脑下载maven

https://www-eu.apache.org/dist/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.zip

maven进行解压,解压后目录 D:\program\apache-maven-3.6.0

修改setting.xml

编辑 D:\program\apache-maven-3.6.0\conf\setting.xml

  

<mirrors>

<mirror>

       <!--This sends everything else to /public -->

       <id>nexus-aliyun</id>

       <mirrorOf>*</mirrorOf>

       <name>Nexus aliyun</name>

       <url>http://maven.aliyun.com/nexus/content/groups/public</url>

    </mirror>

</mirrors>

<profiles>

<profile>

            <id>sonar</id>

            <activation>

                <activeByDefault>true</activeByDefault>

            </activation>

            <properties>

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

                <sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver>

                <sonar.jdbc.username>sonar</sonar.jdbc.username>

                <sonar.jdbc.password>sonar</sonar.jdbc.password>

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

            </properties>

    </profile>

</profiles>

把要分析的项目导入Eclipse

在项目中修改java版本为1.8(确认本地java版本是1.8)

右键点击 pom.xml -- Run As -- Run Configuretion 

左边 Maven Build 选择自己的项目,设置 Goals: clean install sonar:sonar  -X , User settings: D:\program\apache-maven-3.6.0\conf\settings.xml

保存配置,点击 Run 开始编译

9、sonar web页面介绍

任务完成后就可以在sonar的web页面看到信息

默认分析结果任何人都可以看到,如果想要把分析结果分配给某人的话,需要创建账户,然后把分析项目改为私有,并为分析项目分配用户权限,之后就可以登录相应的账户查看相应的分析项目了。


猜你喜欢

转载自blog.51cto.com/xiaoxiaozhou/2339462