前言

前面已经有介绍sonar的安装,简单应用,下面在简答的研究一下sonar和jenkins集成的简单使用,对于sonar的安装不做介绍

一 sonar的简单介绍

持续检查避免了低质量的代码,比如SonarQube工具就能够帮助我们完成此项。每次代码提交后,在代码上就会执行代码分析。

分析是基于代码分析工具中定义的一些规则,如果代码通过了错误阀值,那么它会允许到生命周期的下一步,如果超过了设定的阀值,那么直接返回错误。

SonarQube是代码质量管理工具,允许团队去管理,追踪和改善他们的源代码质量,它是包含了规则,告警和阀值的一个基于WEB的应用。它包含了七种类型的代码质量参数,分别是加构和设计,重复,单元测试,复杂度,潜在bug,编码规则和评论。

SoanrQube是一个开源的工具,支持几乎所有的流行语言,并且能够和CI工具有效的集成执行持续检查。

目前已经有的工具

Jenkins:192.168.132.131

Gitlab:192.168.132.132

Sonar:192.168.132.133

Artifactory:192.168.132.134

二 配置sonar

2.1 生成token

生成一个token,这个token是sonar和Jenkins连接的钥匙

生成token

token:278c0c5ddadca63754f0fa9ce50ba99c20214fb5

2.2 在SonarQube中创建一个项目

(1) 点击Administrator | Projects (tab) | Management

(2) 点击Create Project按钮, 并填写信息如下。

创建成功后应该显示信息如下。

2.3 针对SonarQube安装build breaker插件

该插件允许CI system(Jenkins)在质量门的条件不能够满足的情况下,强制Jenkins构建失败。安装插件,执行以下步骤。

安装插件之前,先去查看一下兼容性列表,可以查看以下网址。兼容性列表

下载构建代理插件,下载地址

切换到/tmp目录和下载构建代理插件,使用以下命令。

[root@node3 ~]# cd /tmp/

[root@node3 tmp]# wget https://github.com/jbocc/sonar-build-breaker/releases/download/2.2/sonar-build-breaker-plugin-2.2.jar

移动.jar文件到/home/sonar/sonarqube/extensions/plugins/目录下

cp sonar-build-breaker-plugin-2.2.jar   /home/sonar/sonarqube/extensions/plugins/

[sonar@node3 ~]$ ./sonarqube/bin/linux-x86-64/sonar.sh restart

重新启动完成后,应该看到界面有Build Breaker选项了。

2.3 创建质量门

针对想要breaker plugin起作用,去工作,那么需要创建quality gate, quality gate只是一些条件。当jenkins运行的时候,它执行quality profiles和quality gate. 假如quality gate检查通过,那么Jenkins pipeline继续,假如检查失败的话,那么Jenkins pipeline将会终止,但分析会存在的。

2.3.1 点击Quality Gates

2.3.2 点击添加条件

2.3.4添加条件信息如下

配置建的项目使用创建的质量门。

三 jenkins集成sonar

3.1 在jenkins中安装sonar插件

在Jenkins中配置SonarQube

3.2 在管理jenkins的系统设置配置

需要自己添加凭据

暂时配置完成

DEVOPS技术实践_11:Jenkins集成Sonar的更多相关文章

  1. DEVOPS技术实践_01:jenkins集成平台

    一.准备环境 准备三台机器 角色 IP地址 用户名 密码 jenkins-master   172.25.254.130    admin   meiyoumima gitlab 172.25.254 ...

  2. DEVOPS技术实践_18:Jenkins的Pinpeline对于参数的使用

    因为最近使用Pipeline声明式语法构建项目,但是最近项目的参数设置较多,特地的来学习一下关于参数的调用和测试,主要式从一个大神那里学习的,结尾回贴上大神的博客链接 1 构建一个pipeline项目 ...

  3. DEVOPS技术实践_17:Jenkins使用扩展邮件功能发送邮件

    一 环境准备 1.1 安装插件Email Extension 系统管理-管理插件-安装Email Extension插件 1.2 配置 配置jenkins邮箱的全局配置:系统管理-系统设置-完成邮箱配 ...

  4. DEVOPS技术实践_09:Jenkins多分支管道

    简介 多分支的管道是在jenkins2.x中新增的功能 . 多分支管道允许你针对分布式的控制器的每个分支创建一个管道. 下图是对它的一个描述.使用jenkinsfile去创建多分支的管道,jenkin ...

  5. DEVOPS技术实践_07:Jenkins 管道工作

    一 简介 由于在公司构建很多工作,都是使用的maven工作构建的,这种构建方式很大缺点就是所有的工作都需要一步一步的配置,当项目较多,需求变动时,需要很大的精力去修改配置,很费劲 Pipeline即为 ...

  6. DEVOPS技术实践_02:jenkins自动构建项目

    一.用户名密码错误 打开jenkins发现用户名密码错误,解决 1.1 找到config.xml文件 [root@jenkins-master ~]# ll -a drwxr-xr-x. root r ...

  7. jenkins集成sonar

    用于我的sonar已经在一台机器上搭建好了,但是每次都要人工去执行sonar-run,很麻烦,所以就想着集成到jenkins上,在jenkins上点点按钮就可以看sonar结果,所以很抱歉,本博客不设 ...

  8. Jenkins 集成 Sonar

    Jenkins 与 Sonar 集成:Sonar 是 Jenkins 之外独立运行的一个服务.Jenkins 中安装插件 SonarQube(并配置其 Sonar Server 的 URL / Acc ...

  9. Jenkins集成Sonar Quabe和权限配置

    目录 安装Sonar Jenkins配置sonar Maven Jenkins Job配置 Pipeline Jenkins Job配置 Sonar权限管理 Sonar quality Gate通过阈 ...

随机推荐

  1. @AGC037 - E@ Reversing and Concatenating

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定一个长度为 N 且只包含小写字母的字符串 S ,你可以执行 ...

  2. javascript内置函数

    1.Date:日期函数属性(1):constructor 所修立对象的函数参考prototype 能够为对象加进的属性和方法办法(43):getDay() 返回一周中的第几天(0-6)getYear( ...

  3. saltStack_Pillar

    Pillar是Salt非常重要的一个组件,它用于给特定的minion定义任何你需要的数据,这些数据可以被Salt的其他组件使用.这里可以看出Pillar的一个特点,Pillar数据是与特定minion ...

  4. 测试代码的执行时间魔法方法%time和%timeit

    对于规模更大.运行时间更长的数据分析应用程序,你可能会希望测试一下各个部分或函数调用或语句的执行时间.你可能会希望了解某个复杂计算过程中到底是哪些函数占用的时间最多.幸运的是,在开发和测试代码的过程中 ...

  5. poj 1514 Metal Cutting (dfs+多边形切割)

    1514 -- Metal Cutting 一道类似于半平面交的题. 题意相当简单,给出一块矩形以及最后被切出来的的多边形各个顶点的位置.每次切割必须从一端切到另一端,问切出多边形最少要切多长的距离. ...

  6. git之本地仓库关联远程仓库

    首先新建一个github respository 然后在自己本地新建一个maven项目,里面写点东西 如下图,将自己的项目所在地设置为本地git仓库 将本地仓库与远程关联,首先获取远程仓库的地址,点击 ...

  7. Element-ui学习笔记3--Form表单(二)

    Input输入框 Input 为受控组件,它总会显示 Vue 绑定值. 通常情况下,应当处理 input 事件,并更新组件的绑定值(或使用v-model).否则,输入框内显示的值将不会改变. 不支持  ...

  8. [转载] 虚拟机3种网络模式(NAT, Host-only, Bridged)

    实例讲解虚拟机3种网络模式(桥接.nat.Host-only) 转载自:http://www.cnblogs.com/ggjucheng/archive/2012/08/19/2646007.html ...

  9. 2019-8-31-dotnet-core-黑科技·String.IndexOf-性能

    title author date CreateTime categories dotnet core 黑科技·String.IndexOf 性能 lindexi 2019-08-31 16:55:5 ...

  10. C# 配置文件存储 各种序列化算法性能比较

    本文比较多个方式进行配置文件的存储,对比各个不同算法的读写性能. 在应用软件启动的时候,需要读取配置文件,但是启动的性能很重要,所以需要有一个很快的读取配置文件的方法. 如果你不想看过程,那么请看拖动 ...