Sonarqube代码审查平台安装_JDK1.7+Maven3.3.9

基于JDK1.7代码审查平台sonarqube安装

sonarqube已经更新到7.0版本了,但是从5.6版本以后就只支持JDK1.8了,网上大部分资源也都是基于JDK1.8的,在这方面走了不少坑,尤其是在后面用Maven-scanner扫描Maven项目的时候,各种报错。经过几天摸索终于在Linux中搭建成功了,JDK版本用的是1.7,因此本文对于项目JDK版本用的是1.7的想搭建sonarqube平台的同学非常有用。
运行成功后界面如下
sonarqube安装成功后的界面

安装sonarqube

官网上下载sonarqube4.5.7(LTS version) zip包,该版本是适用于JDK1.7的最新版本,该zip包在windows和Linux等版本中均可以运行,不同的是启动路径和方法不一样而已。
* sonarqube配置文件
sonarqube平台数据包括代码审查结果都是保存在数据库中的,当然默认不配置的情况下是使用H2内存数据库的,但一般不推荐,本文配置的是mysql数据库。在conf目录下找到sonar.properties并设置相关参数如下,其中sonar.jdbc.usernamesonar.jdbc.password分别是mysql数据库的账号和密码,sonar.jdbc.url是数据库的地址。还有其它参数如端口号sonar.web.port=9998等参数,可以搜索下其它资源配置方法,默认的启动端口号是9000,本例配置的是9998.
配置sonarqube参数

  • 添加中文插件
    安装启动之前先把所需要的相关插件放在安装包中,这样启动好了之后就可以直接使用。以中文插件l10n为例,首先下载插件,代码托管到GitHub中,4.5.7的版本选择sonar-l10n-zh-plugin-1.8版本,git中没有jar资源下载,所以只能下载源码后进行maven编译,将编译后的jar包放在sonarqube-4.5.7/extensions/plugins目录下。

  • 运行sonarqube
    进入bin目录下找到相应的系统版本,Linux64的运行目录文件是sonarqube-4.5.7/bin/linux-x86-64,进入到该目录输入sh sonar.sh start即可。如果提示没有执行权限,则需要先将sonar.shwrapper文件先赋予执行权限chmod a+x sonar.shchmod a+x wrapper。至此sonarqube安装完毕,是不是很简单?
    其它命令sh sonar.sh start | stop | restart | status. windows下则直接运行对应目录下StartSonar.bat文件即可

Maven项目扫描配置

  • Maven配置
    现在很多项目都是Maven组织的,那么sonarqube如何扫描Maven项目呢?
    打开Maven的配置文件settings.xml添加如下配置,主要配置的是sonarqube数据库及sonarqube的。
<!-- pluginGroups标签中添加后如下 -->
<pluginGroups>
    <pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
</pluginGroups>

<!-- profiles标签中添加后如下 -->
<profiles>
    <profile>
        <id>sonar</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <sonar.jdbc.url>jdbc:mysql://192.168.1.2:3306/test</sonar.jdbc.url>  
            <sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver>  
            <sonar.jdbc.username>root</sonar.jdbc.username>  
            <sonar.jdbc.password>admin</sonar.jdbc.password>  
            <!-- Optional URL to server. Default value is http://localhost:9000 -->
            <sonar.host.url>http://192.168.1.2:9998</sonar.host.url>
        </properties>
    </profile>
</profiles>

sonarqube-scanner-maven在扫描Maven项目的时候比较消耗JVM内存资源,所以最好配置JVM内存,即设置MAVEN_OPTS=-Xmx512m,以防占用过多的内存资源。
Linux中Maven配置环境变量,编辑/etc/profile文件加入export MAVEN_OPTS="-Xmx512m"即可。在Windows系统中,则在Maven打包之前set MAVEN_OPTS=-Xmx512m或在环境变量中配置MAVEN_OPTS参数即可。

  • 运行Maven项目,扫描代码
    本例JDK1.7+Maven3.3.9版本下运行命令为mvn clean install org.sonarsource.scanner.maven:sonar-maven-plugin:3.0.2:sonar -Dmaven.test.skip=true.
    如果是比较高的sonarqube版本+JDK1.8,则运行命令为mvn clean install sonar:sonar -Dmaven.test.skip=true.
    以下命令没有权限校验的,意味着所有的用户都可以通过以下命令将某个Maven项目的审查结果上传至sonarqube平台。如果需要限制某些用户,则运行命令为
mvn clean install org.sonarsource.scanner.maven:sonar-maven-plugin:3.0.2:sonar -Dmaven.test.skip=true -Dsonar.login=admin -Dsona.password=admin

同时需要在平台上更改用户权限,如下图
配置权限

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章