SonarQube4.4+Jenkins进行代码检查实例之二

标签: sonarqube4 jenkins 代码 | 发表时间:2014-09-09 19:30 | 作者:zhangmike
出处:http://blog.csdn.net

在 《 SonarQube4.4+Jenkins进行代码检查实例之一》 中介绍了不编译只检查的方式。

但是有些代码检查需要使用字节码,比如Findbugs的检查依赖于字节码,实例一中只提取源代码,就不能进行Findbugs的检查。

要进行Findbugs检查就需要编译。以下实例操作来演示如何搭建


1,首先当然是要下载最新的Findbugs     http://docs.codehaus.org/display/SONAR/FindBugs+Plugin   ,当前最新版是V3.0,  supports analysis of Java 8 bytecode but requires Java 1.7 to run (see Compatibility section)。  下载后将相应Jar包存放到 \sonarqube-4.4\extensions\plugins 下, 其中\sonarqube-4.4是SonarQube的安装目录,然后重启SonarQube

1b, 也可以在SonarQube的update center中下载,下载后按提示重启SonarQube即可。

2,以admin登录到Sonar,将缺省的Quality Profiles改为  Sonar way with Findbugs

3,在Jenkins中配置项目,笔者以Maven3为例,选择 maven2/3项目 

4,按Maven项目正常配置,在Goals and options留空,采用缺省

5,在Post Steps中加入 Windows Batch command, 命令为: SonarQube Runner V2.4安装位置\bin\sonar-runner.bat

6,配置项目,要告知SonarQube编译结果在哪里,并且加入更新到SVN下,如下:

# required metadata 
sonar.projectKey=Keqiang:CodeKatabySonarRunner
sonar.projectName=CodeKatabySonarRunner
sonar.projectVersion=2.0.0  
# path to source directories (required) 
sonar.sources=src/main/java
# path to project binaries (optional), for example directory of Java bytecode 
sonar.binaries=target/classes

7,在Jenkins中立即构建 此Job

8,访问  http://localhost:9000  来看看SonarQube的结果,可以看到根据Findbugs的规则新发现的issue

说明1: Sonar way with Findbugs 是SonarQube缺省的选择,一共497条规则。SonarQube提供了方便的界面来修改。

说明2:SonarQube就发现的Issue设立了总指标Technical Debt,以工作量来表达需要多少时间修复这些issue。


小结:以上配置是简单的。说白了,只需交待编译结果在哪里就可以了。

以上两个实例,希望读者能够了解搭建SonarQube是多么容易。

Jenkins并不是必须的,利用Sonar-Runner完全可以达到相同相关。加入Jenkins支持之后,就能根据Svn操作来自动启动。




作者:zhangmike 发表于2014-9-9 11:30:03 原文链接
阅读:0 评论:0 查看评论

相关 [sonarqube4 jenkins 代码] 推荐:

SonarQube4.4+Jenkins进行代码检查实例之二

- - CSDN博客推荐文章
在 《 SonarQube4.4+Jenkins进行代码检查实例之一》 中介绍了不编译只检查的方式. 但是有些代码检查需要使用字节码,比如Findbugs的检查依赖于字节码,实例一中只提取源代码,就不能进行Findbugs的检查. 要进行Findbugs检查就需要编译. 1,首先当然是要下载最新的Findbugs     http://docs.codehaus.org/display/SONAR/FindBugs+Plugin   ,当前最新版是V3.0,  supports analysis of Java 8 bytecode but requires Java 1.7 to run (see Compatibility section).

SonarQube4.4+Jenkins进行代码检查实例之一

- - CSDN博客研发管理推荐文章
在最新的《 关于代码审查的几点建议》中再次提到了代码分析: 6、尽量使用静态代码分析工具以提高审查效率. 笔者之前也谈到过多次代码分析、代码检查,见:. 关于代码评审的微博讨论汇集 . #敏捷有效实践# 每日代码自动检查 英文是daily code inspection. 对代码质量关注时,安排人工检查code review是需要的,但100% code review需要很多工作量,不是所有的组织值得这样做,而工具自动检查是只需少量人工建设配置,99%的组织值得采用.

Jenkins的plugin开发

- - CSDN博客研发管理推荐文章
       Jenkins强大的功能主要靠其丰富的plugin体现,之前的一篇博客《 Jenkins安装plugin》中介绍了如何找到并安装需要的plugin. 虽然目前已经有大量非常优秀的plugin可供使用,但是有时候仍需要自己开发一些满足项目特殊要求的plugin. 下面通过一个简单实例,介绍Jenkins的plugin的整个开发过程.

SonarQube和Jenkins的集成

- - 研发管理 - ITeye博客
在Java软件开发过程中,开发团队往往要花费大量的时间和精力发现并修改代码缺陷. Java 静态代码分析(static code analysis)工具能够在代码构建过程中帮助开发人员快速、有效的定位代码缺陷并及时纠正这些问题,从而极大地提高软件可靠性并节省软件开发和测试成 本. 目前市场上的 Java 静态代码分析工具种类繁多且各有千秋,因此本文将分别介绍现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBugs,PMD,Jtest),并从功能、特性等方面对它们进行分析和比较,希望能够帮助 Java 软件开发人员了解静态代码分析工具,并选择合适的工具应用到软件开发中.

Deploy the spring cloud project using jenkins

- - Telami
先简单记录下Jenkins部署maven聚合工程要点. Root pom配置成项目根目录的pom.xml. maven命令单独install 欲构建的项目. 选项后可跟随{groupId}:{artifactId}或者所选模块的相对路径(多个模块以逗号分隔). 表示同时处理选定模块所依赖的模块. 表示同时处理依赖选定模块的模块.

Jenkins: 使用Jenkins搭建持续集成(CI)环境

- - CSDN博客研发管理推荐文章
首先从官网 http://jenkins-ci.org/下载 Java Web Archive (.war). 例如我保存到 D:\jenkins\jenkins.war. 运行Jenkins需要JRE的支持Java5 or later. 默认会运行在8080端口,正常启动完成如下图. 我们可以在浏览器输入127.0.0.1:8080来查看,如图我们的Jenkins已经跑起来了.

基于Jenkins的持续集成

- - ITeye博客
Jenkins是一个持续集成工具,前身叫做Hudson,在实际项目应用中非常重要,本文介绍这一工具的使用方法. 首先我们访问Jenkins的网站:. Jenkins 的网址是: http://jenkins-ci.org/. 从网站下载Jenkins: http://mirrors.jenkins-ci.org/war/latest/jenkins.war.

使用Jenkins 实现自动化构建

- - 研发管理 - ITeye博客
Jenkins是帮我们将代码进行统一的编译打包、还可以放到tomcat容器中进行发布. 意思是我们通过配置,将以前:编译、打包、上传、部署到Tomcat中的过程交由Jenkins,Jenkins通过给定的代码地址URL,将代码拉取到其“宿主服务器”(这是我个人的称呼,在下边会用到,就是Jenkins的安装位置),进行编译、打包和发布到容器中.

T-Mobile 和 Jenkins 案例研究

- - DockOne.io
Jenkins 在 T-Mobile 节省数千小时和数百万美元. 大多数人都知道 T-Mobile 是无线服务提供商. 毕竟,我们拥有国际化的业务,并且是美国第三大移动运营商. 但是我们还是一家技术公司,提供的新产品包括 TVision 家庭电视服务,T-Mobile Money 个人银行产品以及 SyncUp Drive 车辆监控和路边辅助设备.

使用Jenkins持續集成與發佈Android應用程式

- Fstone - INET6
這是上週在Coscup 2011活動中演講的主題與投影片. Jenkins (http://jenkins-ci.org/) 是個廣為使用的持續集成(Continue Integration)框架,可以協助軟體工程師統合處理各種圍繞著「寫程式」之外的程式開發工作(如版本控制、環境設定、編譯、測試、發佈).