SonarQube+Jenkins配置使用

一、安装插件
Manage Jenkins(设置)–>Manage Plugins(插件管理)–>filter(筛选):sonar下载如图中插件
在这里插入图片描述
二、Jenkins配置
1、添加 server authentication token
凭据–>添加凭据–>填写token保存
在这里插入图片描述
在这里插入图片描述
2、Manage Jenkins(设置)–>Configure System(系统配置)
在这里插入图片描述

JK配置参考文章:https://docs.sonarqube.org/latest/analysis/jenkins/

三、Jenkins流水线设置(pipeline)
概述:提供了一个withSonarQubeEnv块,使您可以选择要与之交互的SonarQube服务器。您在Jenkins全局配置中配置的连接详细信息将自动传递到扫描仪。
1、第一种声明性pipeline示例:

		stage("build & SonarQube analysis") {
          steps{
              withSonarQubeEnv('Sonarqube') {
                 sh 'mvn clean compile sonar:sonar -Dsonar.analysis.branch=qa'
              }
          }
      }

        stage("Quality Gate"){
			steps{
				timeout(time: 15, unit: 'MINUTES') {
					waitForQualityGate abortPipeline: true
				}
			}
		}

注意:

  • withSonarQubeEnv中添加SonarQube服务的name(在JK中配置的sonarqube server)
  • build && SonarQube analysis步骤中的sh后可以:mvn clean compile sonar:sonar
  • sh后通过添加参数,指定检查哪个分支,不指定默认扫描master分支,例:-Dsonar.analysis.branch=qa,指定扫描qa分支。
  • timeout中参数:time超时时间,unit超时时间的单位(时、分、秒):HOURS/MINUTES/SECONDS
    2、第二种声明性pipelie示例:
		stage("build & SonarQube analysis") {
          steps{
		      echo 'SonarQube analysis 开始'
              withSonarQubeEnv('Sonarqube') {
                 sh 'mvn clean verify sonar:sonar -Dsonar.analysis.branch=qa'
			  echo 'SonarQube analysis 结束'
              }
		  script{
			  timeout(time: 10, unit: 'MINUTES') {
				 def qg = waitForQualityGate()
					if (qg.status != 'OK') {
						error "Pipeline aborted due to quality gate failure: ${qg.status}"
					}
				}
			  }
          }
      }

注意:

  • 第二种方式可以自定义设置SonarQube中的质量阈值,若检测结果低于设置的质量阈值则构建失败

参考:pipeline script{}编写方式 https://blog.csdn.net/qq_16681279/article/details/88633489

四、SonarQube配置
概述:sonarqube通过配置webhooks告知Jenkins已经完成检测,Quality Gate 监听webhooks返回结果判断是否继续执行Quality Gate之后的步骤,若不配置webhooks会一直停滞在Quality Gate步骤上。
1、项目下的webhooks配置
(1)项目–>具体项目中–>项目配置–>网络调用
在这里插入图片描述
(2)创建
(3)填写配置,密码选填
在这里插入图片描述
2、全局webhooks配置
(1)配置–>配置下拉菜单–>网络调用
在这里插入图片描述
(2)创建
(3)填写信息,与项目中的信息一致
3、自定义质量阈值(配合pipeline中第二种方式使用)
(1)质量阈
(2)创建
在这里插入图片描述
(3)若不创建,则使用默认的质量阈值
在这里插入图片描述
五、项目的分析结果
在这里插入图片描述

错误排查请参考如下链接:SonarQube8.4+Jenkins2遇到的问题

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
SonarQube可以与Jenkins集成,以便在持续集成和持续交付过程中进行代码质量分析。集成SonarQubeJenkins可以帮助团队代码提交到版本控制系统后自动进行代码质量检查,并提供实时反馈。 要将SonarQubeJenkins集成,可以按照以下步骤操作: 1. 首先,确保已安装并配置JenkinsSonarQube。 2. 在Jenkins中安装SonarQube Scanner插件。在Jenkins的插件管理页面搜索并安装"SonarQube Scanner"插件。 3. 在SonarQube中创建一个项目,并生成一个项目密钥。项目密钥将用于在Jenkins配置中进行身份验证。 4. 在Jenkins的系统管理页面中配置SonarQube服务器。转到"系统管理" > "全局工具配置",找到"SonarQube Scanner"部分,在其中添加你的SonarQube服务器。 5. 在Jenkins的项目配置中添加SonarQube构建步骤。在你的Jenkins项目配置中,找到"构建"部分,点击"增加构建步骤",选择"Execute SonarQube Scanner"。 6. 在SonarQube构建步骤中配置SonarQube服务器和项目密钥。设置你之前在第4步中配置SonarQube服务器,并在"项目属性"中设置你的SonarQube项目密钥。 7. 保存并构建你的Jenkins项目。现在每当你构建该项目时,SonarQube将自动进行代码质量分析,并将结果显示在SonarQube仪表板上。 通过将SonarQube集成到Jenkins中,你可以在持续集成过程中自动进行静态代码分析和代码质量检查,从而帮助团队及时发现和解决代码质量问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老糊涂Lion

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值