• DEVOPS技术实践_11:Jenkins集成Sonar


    前言

    前面已经有介绍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的系统设置配置

    需要自己添加凭据

    暂时配置完成

  • 相关阅读:
    iOS NSUserDefaults 存储可变数组问题
    iOS之[文件下载 / 大文件下载 / 断点下载]
    macOS 新手开发:第 2 部分
    iOS 游戏素材
    iOS 动画
    macOS 开发
    iOS 之访问权限以及跳转到系统界面
    蓝桥杯—ALGO-18 单词接龙(DFS)
    蓝桥杯—ALGO-12 幂方分解(递归递推)
    蓝桥杯—ALGO-131 Beaver's Calculator
  • 原文地址:https://www.cnblogs.com/zyxnhr/p/11781402.html
Copyright © 2020-2023  润新知