SonarQube中文网站 > 使用技巧 > SonarQube CI/CD集成是什么 SonarQube CI/CD集成流水线插件配置方法

SonarQube CI/CD集成是什么 SonarQube CI/CD集成流水线插件配置方法

发布时间:2025-11-01 14: 00: 00

品牌型号:联想 E550C ThinkPad

系统:Windows 11

软件版本:SonarQube Server 25

随着测试自动化理念和相关工具的逐步普及,CI/CD集成已经成为软件开发中十分重要的一环,在这个过程中,如何确保代码质量不因快速交付而下降,成为每个开发团队必须面对的问题。SonarQube作为代码质量检查的一大利器,提供了一种优雅的集成方案,它能够在自动化构建流程中嵌入代码质量检查,实现提交代码、质量检查、发布上线的全自动化。本文将全面解析SonarQube CI/CD集成是什么,SonarQube CI/CD集成流水线插件配置方法,让代码质量管理真正融入开发工作流。

一、SonarQube CI/CD集成是什么

SonarQube CI/CD集成是指将SonarQube代码质量分析工具与持续集成/持续交付流程相结合的一种集成方案,通过集成我们可在每次提交代码时自动执行代码质量检查,确保新提交代码符合质量标准。

1、SonarQube支持多种不同的CI/CD集成工具,在网页端Administration的“DevOps Platform Integrations”设置中可以看到,它为我们提供了GitHub、Bitbucket、Azure Devops、Gitlab的多种工具集成配置。

CI/CD集成工具
图1:CI/CD集成工具

2、通过与DevOps工具集成,一方面我们可以直接将工具上已有的代码项目在SonarQube中导入进行代码质量检查分析,另一方面也可以在往这些工具提交代码时自动开始代码分析,实现旧代码、新代码的全面检测。

导入项目
图2:导入项目

二、SonarQube CI/CD集成流水线插件配置方法

不同的CI/CD工具与SonarQube的集成方式略有差异,但基本原理是相同的,SonarQube中也完整地向我们提供了集成的操作方式。下面以Gitlab为例,介绍如何用它进行CI/CD集成流水线:

1、点击Gitlab右上角头像,选择Settings,选择Access Tokens,勾选所有Scopes,点击“Create Personal access token”按钮,获取个人Token值。

获取Gitlab Token
图3:获取Gitlab Token

2、在SonarQube的“DevOps Platform Integrations”后台设置中,点击Gitlab的“Create Configuration”打开配置弹窗,分别输入配置名称、Gitlab API地址和上述获取的Token,完成Gitlab和SonarQube连接配置。

连接Gitlab
图4:连接Gitlab

3、点击Create Project,从Gitlab仓库中导入要检测的项目,会出现下列界面,此时点击“Generate a token”按钮生成一个token,并在Gitlab对应项目的CI/CD菜单中,填入Key为“SONAR_TOKEN”,值为生成的token值的变量,再填入Key为“SONAR_HOST_URL”,值为对应SonarQube地址URL的变量。

获取GitLab CI/CD变量
图5:获取GitLab CI/CD变量

4、点击“Other(for Go,Python,PHP)”按钮,会显示需要添加到项目“sonar-project.properties”配置的两个参数,将它们添加到配置。随后创建“.gitlab-ci.yml”文件并将SonarQube提供的内容复制到其中,在GitLab项目中点击Upload File,上传该文件,此时只需要执行一次代码提交,就会自动调用远程服务器上的SonarQube扫描程序进行扫描,并将扫描结果呈现在网页端。

.gitlab-ci.yml文件
图6:.gitlab-ci.yml文件

通过本文的详细讲解,我们全面了解了SonarQube CI/CD集成是什么,SonarQube CI/CD集成流水线插件配置方法。SonarQube与CI/CD的深度集成,能够帮助开发团队在快速迭代的同时保障代码质量,有效控制技术债务的增长,确保既能快速交付,又能维持高标准代码质量,是软件开发过程中实现“质量与速度并重”的有效方法。

展开阅读全文

标签:

读者也访问过这里:
SonarQube
从一开始就生成高质量的代码
立即购买
最新文章
SonarQube规则集怎么调整 SonarQube规则禁用后为何仍触发
在SonarQube里,所谓“规则集”对应的其实是Quality Profile,也就是按语言生效的一组启用规则。真正容易出问题的地方,通常不是不会点启用和禁用,而是项目绑错了Profile、子Profile继承了父Profile、改完以后没有重新分析,结果看起来像是“规则明明关了却还在触发”。官方文档也明确说明,问题是在分析时根据项目关联的Quality Profile被产生出来的。
2026-03-25
SonarQube覆盖率为0怎么排查 SonarQube覆盖率报告路径怎么填
SonarQube里覆盖率显示为0,很多时候不是测试根本没跑,而是覆盖率报告没有在扫描前生成、扫描器没找到文件、报告格式和参数名不匹配,或者报告里的路径和当前项目根目录对不上。官方文档写得很明确,SonarQube本身不会生成覆盖率报告,它只负责导入外部工具生成的报告,所以排查顺序一定要先看报告有没有生成,再看扫描器有没有正确读到。
2026-03-25
SonarQube扫描结果为空怎么办 SonarQube扫描日志怎么定位原因
SonarQube扫描结果为空,先不要急着重跑。更常见的原因不是平台坏了,而是扫描范围没有真正命中代码文件,或者代码被排除规则、源码管理忽略规则、主代码与测试代码分类错误一起过滤掉了。Sonar官方文档明确说明,扫描器会先根据分析范围决定要分析哪些文件,而调试日志会直接打印哪些源文件和测试文件被索引,所以排查顺序应先看范围,再看日志。
2026-03-25
SonarQube质量门禁怎么设置 SonarQube质量门禁不生效怎么办
在SonarQube里做质量门禁,最容易出问题的不是条件不会填,而是门禁条件、项目绑定和流水线阻断没有放在同一条链路里看。SonarSource官方说明很明确,质量门禁本质上是一组条件,既可以基于新代码,也可以基于整体代码;实例里还有默认质量门禁,未单独绑定的项目会先继承默认门禁。
2026-03-25
SonarQube怎么导入新项目 SonarQube项目Key怎么填写
在SonarQube里,新项目导入本质上有两条路,一条是先在平台里手工创建项目,再接扫描;另一条是第一次分析时直接把项目带上来,服务器会在收到一个不存在的项目Key后自动创建项目。官方文档也明确说明,手工创建时项目名和项目Key是本地项目创建的必要参数,而首次分析同样依赖项目Key完成识别。
2026-03-25
SonarQube质量门禁怎么配置 SonarQube质量门禁不触发怎么排查
质量门禁的价值不在于看板上多一个红绿灯,而在于它能把代码扫描结果变成可执行的准入规则。配置时要先把门禁规则定清楚,再把项目和门禁绑定好,最后在流水线里把门禁结果接回来并决定是否中断构建,否则你会看到门禁已经失败但流水线照样放行的情况。
2026-03-02

读者也喜欢这些内容:

咨询热线 18015636924