一、SonarQube

我的理解是,SonarQube就是一个对代码进行分析的平台,其功能可以通过插件扩展。支持多种语言,也支持静态代码检查、发现潜在bug等。

以下是参考信息:

维基百科:https://zh.wikipedia.org/wiki/SonarQube

官网:https://www.sonarqube.org/

文档:https://docs.sonarqube.org/display/SONAR/Documentation

二、下载安装

1.下载

访问官网:https://www.sonarqube.org/

点击“Download”,

然后我们可以选择长期支持版本或者最近的稳定版本,

2.安装运行

该软件是绿色版,不需要安装,手动解压即可。windows或者linux都支持。

解压后,如果是windows,执行以下路径的bat(如果是32位操作系统,请切换到bin\windows-x86-32目录)

运行如下,如果显示如下图,表示已成功启动SonarQube。

3.尝试使用

访问:

http://localhost:9000

用户名/密码是:admin/admin

接下来可以照着网页上的提示,完成token生成等,该token用处很大,需要牢记。

针对maven项目,我们可以测试一下。

找到想要测试的项目的根路径,比如:

在命令行执行:(sonar.login就是上文生成的token值)

mvn sonar:sonar   -Dsonar.host.url=http://localhost:9000   -Dsonar.login=429cf9cccb1c1dc96aea29c2f69f74669ed7fdc5

执行结果如下:

根据以下日志,

[INFO] ANALYSIS SUCCESSFUL, you can browse http://localhost:9000/dashboard/index
/com.ceiec:bdmp

我们访问:http://localhost:9000/dashboard/index/com.ceiec:bdmp,页面如下:

SonarQube的功能很多,以上只展示了基本功能。

更多功能可以参考官方文档:

https://docs.sonarqube.org/display/SONAR/Get+Started+in+Two+Minutes

三、与jenkins集成

参考:

https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner

1.安装

依次进入,“系统管理”--》“管理插件”--》“可选插件”--》“SonarQube Scanner for Jenkins”,然后点“直接安装”。安装完成后,重启一下。

2.配置SonarQube服务器的地址

依次进入,“系统管理”--》“系统设置”,配置以下部分:

3.配置SonarQube Scanner

依次进入,“系统管理”--》“全局工具配置”,配置以下部分:

我这边采用了自动安装,但是,这个“自动安装”的运行条件是:

当你在job中配置了,要使用该指定名称“my-jenkins-SonarQube Scanner”的工具(当然,如果不指定,因为没有默认值,所以会在job配置页面上报错,红字提示),然后在“立即构建”时,才会去下载该工具。

并不是这里点了自动安装,点击保存后,马上就会下载安装的。

4.配置job

SonarQube,针对java来说,是基于class来检测的,所以在这前面,需要配置一个maven的编译步骤。

如下:

上图中,要指定给SonarQube Scanner使用的jdk,在Analysis properties中,

“sonar.projectKey”可随意指定;

“sonar.sources”指定了我的源文件路径;

“sonar.java.binaries”是编译后的class文件的路径。

以下是我的jenkins的该job的工作目录树(请读者参考自己的目录配置):

5.构建结果

6.异常情形

INFO: ------------------------------------------------------------------------
ERROR: Error during SonarQube Scanner execution
ERROR: Error when executing blame for file bdmp-api/pom.xml
ERROR: Caused by: svn: E170001: Authentication required for '<http://192.168.19.225:80> CollabNet Subversion Repository'
ERROR:
ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging.
WARN: Unable to locate 'report-task.txt' in the workspace. Did the SonarScanner succedeed?
ERROR: SonarQube scanner exited with non-zero code: 1
Finished: FAILURE

解决方法:登录SonarQube,按下图所示,关闭“从scm获取blame信息”即可:

转载于:https://www.cnblogs.com/grey-wolf/p/8931160.html

jenkins与SonarQube集成相关推荐

  1. 3.Jenkins入门基础使用与Maven+SonarQube集成配置与实践

    目录一览: Maven 集成配置与实践 ​SonarQube 集成配置与实践 WeiyiGeek Blog - 为了能到远方,脚下的每一步都不能少. Tips : 本文章来源 Blog 站点或者 We ...

  2. Jenkins+Gitlab+SonarQube 代码质量管理集成

    Jenkins+Gitlab+SonarQube 代码质量管理集成 一.环境准备 1.1.JDK11环境安装 1.2.Docker环境下搭建SonarQube所需的PostgreSQL数据库 1.2. ...

  3. 企业实战(Jenkins+GitLab+SonarQube)_12_Jenkins+soanr服务器搭建和代码检查

    文章目录 一.前期准备 1.1. jenkins 服务器搭建完成 1.2. sonarqube服务器搭建完成 二.Jenkins 配置 2.1. 安装 Sonar 插件 2.2. 配置 SonarQu ...

  4. 持续集成[代码流水线管理及Jenkins和gitlab集成]-自动化部署05

    安装sonar Scanner 打开http://www.sonarqube.org/官网 找到下面扫描器 通过这个扫描器可以分析代码分析 因此你也的安装这个扫描器 上传sonar-scanner-2 ...

  5. 一文详解云原生DevOps(认识、熟悉、上手,DevOps,Docker,Jenkins,SonarQube,Harbor)

    文章目录 一.DevOps介绍 二.Code阶段工具 2.1 Git安装 2.2 GitLab安装 三.Build阶段工具 四.Operate阶段工具 4.1 Docker安装 4.2 Docker- ...

  6. 【Jenkins】持续集成环境实战

    pdf供下载:https://download.csdn.net/download/hancoder/19835802 1.持续集成及Jenkins介绍 2.Jenkins安装和持续集成环境配置 3. ...

  7. 【Jenkins】持续集成、持续交付与持续部署

    持续集成.持续交付与持续部署,都是软件开发过程中的很好的实践. 一.持续部署 装修厨房 全部装好之后发现灯不亮,电路有问题:冷热水装反了,管路有问题.这些问题要解决就必须把地砖.墙砖拆掉--一个环节有 ...

  8. 【Jmeter篇】jmeter Ant Jenkins接口自动化测试集成之半路逆转(二)

    一.更改方案 由于上一篇文章[Jmeter篇]jmeter+Ant+Jenkins实现自动化测试集成(一)https://blog.csdn.net/qq_36502272/article/detai ...

  9. [转]使用jenkins实现持续集成

    本文转自:https://www.cnblogs.com/zishengY/p/7170656.html 一.jenkins 介绍 它是一个自动化的周期性的集成测试过程,从检出代码.编译构建.运行测试 ...

最新文章

  1. 解决onclick事件调用其它带参数的函数方法无效的问题
  2. T-SQL Enhancement in SQL Server 2005[上篇]
  3. stm32 标准库一些比较容易犯的错误
  4. 抢跑直播电商双11,快手电商帝国雏形初显
  5. 程序猿到了30岁以后,是如何把自己逼死的
  6. Slog45_项目上线之域名的购买
  7. 看来cmwap真的是没有可以使用的邮件客户端了
  8. 机器学习-算法背后的理论与优化(part6)--正则化的优缺点
  9. php外联样式,css外联样式不起作用怎么办
  10. js parseInt()与Number()区别
  11. 苹果自动驾驶“排名垫底”,每1.1英里就发生一次脱离...
  12. 解决zabbix中文乱码问题
  13. mysql单向加密_MariaDB(Mysql)双向加密与单向加密 | 彬菌
  14. 【剑指 offer】(二十一)—— 包含 min 函数的栈
  15. NYOJ599 - 奋斗的小蜗牛
  16. py2topy3+cmd 命令
  17. tmb100a linux,天猫魔盒Tmb100系列_LetvUi_YYF终极版
  18. MongoDB和Compass安装教程
  19. 20172328 2018-2019《Java软件结构与数据结构》第六周学习总结
  20. ORA-01790 expression must have same datatype as corresponding expression 问题解决

热门文章

  1. 错误的日志可能会导致疯狂;好日志可能会成为魔杖
  2. OSI 认证的开源 License 有哪些?
  3. odoo10参考系列--ORM API 二(新旧API兼容性、模型参考和方法修饰符)
  4. 以下不属于时序逻辑电路的有_静态时序分析圣经翻译计划——附录B:SDF
  5. 《Finite-Element Neural Networks for Solving Differential Equations》梳理
  6. go去掉最后一个字符_可维护的Go代码程序指南(一)之变量篇
  7. php金币格式转换,php 资金格式转换函数_PHP教程
  8. ionic 富文本编辑样式后,前台不能回显样式
  9. 学好java再学c 可以吗_再论学好C的重要性!!!
  10. word是不是计算机硬件,word及excel模拟试题1_计算机硬件及应用_IT/计算机_资料