Jenkins 集成 SonarQube Scanner

1.   安装Jenkins

下载安装包,这里我们下载war包

https://jenkins.io/download/

运行jenkins.war的方式有两种:

第一种:将其放到tomcat中运行(放到webapps目录下,启动tomcat)

第二种:直接执行  java -jar jenkins.war --httpPort=8080

https://jenkins.io/doc/pipeline/tour/getting-started/

这里我们选择第一种方式

启动tomcat(bin/startup.sh)以后访问 http://localhost:8080/jenkins/

至此,jenkins安装完成

2.  安装SonarQube Scanner插件

2.1.  安装插件

https://plugins.jenkins.io/sonar

重启jenkins

2.1.  配置SonarQube

首先,在SonarQube中生成一个Token(PS:用token代替输入用户名和密码)

然后,在Jenkins中配置连接sonarqube服务器的地址,这里用到的token就是刚才在sonarqube中创建的那个token

最后,配置全局工具配置

3.  创建任务

最最重要的是,配置SonarQube analysis properties

可以将其单独写到一个配置文件(sonar-project.properties)里面,也可以像这样每次都写一遍

sonar.projectKey=ks-cms-unicornsonar.projectName=ks-cms-unicornsonar.projectVersion=1.0sonar.language=javasonar.sourceEncoding=UTF-8sonar.sources=$WORKSPACEsonar.java.binaries=$WORKSPACE

其中,sonar.java.binaries属性至关重要,笔者也是试了好多次

相关文档在这里:

https://github.com/SonarSource/sonar-scanning-examples/blob/master/sonarqube-scanner/sonar-project.properties

https://docs.sonarqube.org/display/PLUG/Java+Plugin+and+Bytecode

本例中,创建了两个任务,方法同上

可以看到,每次构建任务都会生成一次报告

这种方式比Maven那种方式要好很多,在实际的项目中多用此方式

3.  参考及文档

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

4.  补充:SonarQube中文界面

首先,下载中文语言包 sonar-l10n-zh-plugin.jar

然后,将其放入sonar安装目录的 extensions/plugins 目录下

最后,重启SonarQube

https://search.maven.org/search?q=sonar-l10n-zh-plugin

最后再补充一个使用Maven方式与服务器同步报告的命令

(0)

相关推荐

  • Jenkins+SonarQube实现Python项目静态扫描

    时间主题8.27(周二)14:00 基于用户故事地图的测试用例设计8.27(周二)20:00基于用户故事地图的测试用例设计8.28(周三)20:00python+Jenkins+Sonar持续集成 在 ...

  • 代码写的垃圾被嫌弃?

    重磅干货,第一时间送达 今天推荐三个插件,它们都是代码质量检测的神器.可以扫描检测出你项目中不符合规范的代码,他们分别是 SonarLint.SonarQube.Alibaba代码规约插件. 1.   ...

  • Jenkins持续集成

    时间 主题 8.13(周二)14:00 WebDriver鼠标键盘操作 8.14(周三)20:00 Jenkins持续集成 在传统的瀑布开发模型中,是所有人写好代码之后提交版本管理工具,然后统一进行合 ...

  • Docker版Jenkins持续集成

    随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile) 在软件工程领域越来越红火,如何能再不断变化的 ...

  • 持续集成之 Jenkins 的安装与配置(一)

    一.持续集成的概念 Jenkins 是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能.Jenkins是基于 Java 开发的一种持续集成工具,用于监控持续重复的工作,功能包 ...

  • 持续集成之 Jenkins 配置基于角色的项目权限管理(五)

    一.前言 Jenkins是个好东西,开发运维测试的老江湖应该都听过,在此我就不再多做介绍jenkins是个什么东西了. jenkins自身的权限管理,无法实现用户指定显示视图或者视图中指定的jobs, ...

  • 持续集成之 Jenkins 如何通过 Gitlab 上的权限认证(三)

    一.背景 之前的项目是 public 的,如果我们在 gitlab上面把它修改成 private,然后再次打开配置,就可能会出现下面的错误,两种协议都会进行报错. 名称 IP 备注 Jenkins 1 ...

  • 持续集成 Jenkins +Gitlab + SSH 自动发布 HTML 代码

    一.整体流程 二.Jenkins 配置 2.1.首先安装插件 Gitlab Hook Plugin GitLab Plugin Publish Over SSH 2.2.配置目标服务器 系统管理 -- ...

  • 使用Jenkins实现项目持续集成部署

    十多年前,敏捷开发人员开始拥抱并促进测试驱动的开发和持续集成(CI).利用这些技术,只要开发人员将源代码检查到源存储库中,我们就可以自动构建源代码,执行详尽的单元测试套件以确保应用程序正常运行.许多测 ...

  • Jenkins持续集成的13种替代方案

    在<Jenkins越来越老了-现在该继续前进>,我们讨论了Jenkins最常见的问题,这些问题促使我们寻找替代方法.这就是为什么在本文中,我们提供了用于持续集成的最常见的Jenkins替代 ...