配置sonarqube_jenkins进行持续JAVA代码自动构建审查

本文以CentOS操作系统为例介绍SonarQube的安装配置,以及如何与Jenkins进行集成
   服务器环境:
          [[email protected] data]# uname  -a
              Linux db-server 3.10.0-327.36.3.el7.x86_64
          [[email protected] data]# java -version
               openjdk version "1.8.0_111"
          [[email protected] data]# nginx -v
               nginx version: nginx/1.10.2
          [[email protected] data]# mysql -V
               mysql  Ver 15.1 Distrib 5.5.50-MariaDB
          sonarqube-5.3.zip

一、安装配置sonar和配置数据库

1、Sonar介绍

Sonar是一个用于代码质量管理的开源平台,用于管理Java源代码的质量。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具,比如pmd-cpd、checkstyle、findbugs、Jenkins。通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。

同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。

此外,Sonar 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。
    可以下载官网最新的sonarqube包,但是我这次是安装的sonarqube的5.3的版本
   https://www.sonarqube.org/downloads/
找到对应的版本下载即可,我此处已经下载上传到我的百度云盘里面了http://pan.baidu.com/s/1c2aOor2
下载到本地,在通过lrzsz上传到服务器

sonar.properties我这里配置的sonarqube的配置文件,可以适当的修改成符合自己的文件
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance  #链接的数据库
sonar.jdbc.username=root   #用户
sonar.jdbc.password=root12300. #密码
sonar.sorceEncoding=UTF-8 #字符集
sonar.login=admin  #登录账号
#sonar.projectKey=hanye:11   #key
#sonar.projectName=hanye   #显示的名字
sonar.projectVersion=1.0  #项目版本
sonar.password=admin    #登录密码
配置数据库
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;
启动sonarqube
我这里安装到了data目录
[[email protected] sonarqube-5.3]# cd /data/sonarqube-5.3
配置文件: conf
日志位置:bin
启动脚本位置:log
[[email protected] sonarqube-5.3]# ./bin/linux-x86-64/sonar.sh restart

这里sonarqube会占用9000和9001端口,需要修改的话自行修改配置文件修改端口即可,修改之后,jenkins上链接sonar的端口也要修改
登录查看

二、安装配置jenkins,maven,jdk
     参考我的博客:http://www.ny01.top/?p=126
配置安装jenkins的jdk和maven
    系统管理->Global Tool Configuration->JDK
     
系统管理->Global Tool Configuration->maven


三、jenkins配置sonarqube插件和安装sonarqube scanner
安装sonarqube plugin插件
  系统管理->插件管理->可选插件->sonarqube plugin 点击安装
     
  安装sonarqube Scanner 
系统管理->Global Tool Configuration->sonarqube scanner

配置链接sonarqube
  系统管理-》系统设置-》SonarQube servers
    

登录sonarqube的web端,找到administrator
login-》administrator-》security-》user

开始创建项目测试了
创建一个maven项目名字为test_scan_sonar
我这里的代码放在了svn上面

其他的默认即可
找到Pre Steps
  


其他的保持默认即可
创建完毕之后  点击  立即构建

然后等待下载依赖环境,和自动构建即可  时间可能比较长
构建的时候如果遇到

SonarQube scanner exited with non-zero code: 1

问题,基本上就是sonarqube的scm忘记打开了,于是登录sonarqube的web端开启scm
     administrator-》configureation-》General Settings-》SCM
吧Disable the SCM Sensor  设置为TRUE,点击 save SCM settings即可   再次构建即可看到效果了
 
构建完毕之后,就可以登录到jenkins和sonarqube来看代码是不是有问题了

点击hz7726上面的OK  即可跳转到刚刚你设置的那个连接sonarqube的web端口,查看即可

登录之后发现hz7726已经出来了,其他的都是找开发修改这个代码了
 
   仅供参考,大神勿喷,如果有问题可以邮件[email protected] 联系,或者qq:1263567419 反正我也帮不了你
  注意: 如果项目较多,可以修改
   里面的projectKey和ProjectName来识别不同的项目

原文地址:http://blog.51cto.com/9025736/2061682

时间: 2024-10-10 23:51:47

配置sonarqube_jenkins进行持续JAVA代码自动构建审查的相关文章

jenkins结合gitlab实现提交代码自动构建

jenkins可以说是现在非常流行的一个继续集成工具,几乎所有的公司都在用,并且它也基本是devops的连接者,是一个比较核心的工具. 主要记录以下两个: 利用jenkins和gitlab的webhook结合,实现提交代码之后,自动触发jenkins的构建. 顺带介绍一下通过触发器构建,比如直接通过url去触发的方式. 一.jenkins结合webhook 1.jenkins配置 a.首先jenkins得需要安装两个gitlab的插件:Gitlab Hook Plugin和gitlab,插件的安

gitlab+jenkins+hook代码自动构建发布上线

Gitlab+Jenkins+Hook 1.gitlab和jenkins的安装见: http://www.cnblogs.com/cuishuai/p/7544663.html http://www.cnblogs.com/cuishuai/p/7544775.html 2.gitlab配置 1)创建一个project,并创建一个monkey的分支. 2)对分支进行设置: 点击project->settings->integrations: 1. 2. 3 Webhook,点击test,返回如

Eclipse - Java 代码自动补全提示

Windows> Preferences> > Java> Editor> Content Assist> Auto activation triggers for Java:.abcdefghijklmnopqrstuvwxyz

PHPStorm配置支持友好的Laravel代码自动提示

在项目的composer.json "barryvdh/laravel-ide-helper":"dev-master" 项目config/app.php 'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider', composer.json,添加一行 php artisan ide-helper:generate

使用Java代码和注解完成Spring配置

使用Java代码和注解完成Spring配置 使用Java代码和注解进行Spring的配置.个人理解: 使用Spring的时候可以使用XML文件配置,也可以使用Java代码配置.使用Java代码配置的时候,相当于使用Java类作为XML的配置文件,通过使用java代码创建bean实例,并通过java代码完成依赖的注入操作.当需要变更依赖注入时,可通过修改java代码实现. 使用注解配置的时候,个人理解存在两种方式第一种是注解+XML形式,第二种是Java代码+注解形式.使用Java+注解的形式,相

配置Jenkins自动构建打包项目

需求说明 1.给A项目配置jenkins每2小时无条件自动构建一次,无论是否有代码提交.2.给B项目配置jenkins每15分钟检查一次是否有代码提交,如果有,就自动构建一次:如果没有commit,就不构建 配置操作 1 配置每15分钟检查更新,有更新就构建 1.1 创建一个测试项目iot-new-Dev 根据项目实际情况,选择的是pipeline 1.2 配置"构建触发器" 在"构建触发器" ==> 选择"Poll SCM" ==>

从 Java 代码逆向工程生成 UML 类图和序列图

from:http://blog.itpub.net/14780914/viewspace-588975/ 本文面向于那些软件架构师,设计师和开发人员,他们想使用 IBM? Rational? Software Architect 从 Java? 源代码来逆向工程生成 UML 类和序列图. 逆向工程经常被用来从已有的源代码中以一种抽象模型 UML 格式来获得丢失的设计文档,其可以用来研究一个系统的静态结构和动态行为,并用于扩展新的特性到产品. 作者详细说明了使用 IBM Rational Sof

系统测试——代码质量检查、单元测试、性能测试、自动构建、项目管理

根据软件开发的过程和由细节到外部的顺序,将软件测试划分为5个阶段: 1)代码质量检查:对代码的格式.潜在的Bug进行检查,常用的工具有Checkstyle.PMD.FindBugs: 2)单元测试:对代码的功能进行测试,常用的工具有JUnit.EasyMock: 3)性能测试:对代码的性能进行测试,常用的工具有JMeter.Profiler: 4)自动构建:对代码进行自动构建和持续集成测试.部署,常用的工具有Ant.Maven.CruiseControl: 5)项目管理:对软件测试中的Bug进行

用Ant实现Java项目的自动构建和部署

Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能.在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作. 一.             安装与配置 下载地址:http://ant.apache.org/,在本文中下载的是1.7.0版本.解压到某个目录(例如E:\apache-ant-1.7.0),即可使用. 添加系统环境变量:ANT_HOME,该变量指向Ant解压后的根目录,在此为E:\apache-ant-1.7.0. 安装与