DEVOPS技术实践_11:Jenkins集成Sonar

Posted zyxnhr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的系统设置配置

技术图片

需要自己添加凭据

技术图片

暂时配置完成

以上是关于DEVOPS技术实践_11:Jenkins集成Sonar的主要内容,如果未能解决你的问题,请参考以下文章

linux12Devops -->11Jenkins+Docker+SpringCloud微服务持续集成

DEVOPS技术实践_10:安装部署Artifactory

DEVOPS技术实践_13:使用Jenkins持续传送设计-CD基础

《持续集成实践指南》第1章 DevOps实践简介

《持续集成实践指南》第1章 DevOps实践简介

Jenkins 最佳实践课程2021版全新升级