通过此集成,您将能够:

使用 GitLab 进行身份验证- 使用您的 GitLab 凭据登录 SonarQube。
导入您的 GitLab 项目- 将您的 GitLab 项目导入 SonarQube 以轻松设置 SonarQube 项目。
使用 GitLab CI/CD 分析项目- 将分析集成到您的构建管道中。从Developer Edition开始,在 GitLab CI/CD 作业中运行的 SonarScanners 可以自动检测正在构建的分支或合并请求,因此您无需专门将它们作为参数传递给扫描仪。
将您的 Quality Gate 状态报告给您的合并请求-(社区版没有该功能)直接在 GitLab 中查看您的 Quality Gate 和代码指标结果,以便您知道合并更改是否安全。

sonarqube 支持多种认证登录方式,如果使用自带的账号体系,需要管理员一个个添加账号,使用起来多有不便。不过一般公司都部署了私有化的 Gitlab,我们可以利用私有的 gitlab 账号来登录 Sonarqube。

在gitlab创建一个sonar应用

注意勾选项!另外涂抹掉的是您sonar的地址,/oauth2/callback/gitlab 是固定的。

根据实际情况设置应用的权限:注意read_user是必须的。

保存后可以拿到应用id、密码,如下图所示:

对sonar安装gitlab的认证登录插件

https://www.sonarplugins.com/authgitlab

进入以上网址下载插件并放到sonar安装目录的/extensions/plugins下,然后重启。

登录sonar的web界面设置gitlab

记得勾选上图中所示的两个设置,否则不生效。

设置sonar的地址用于授权后的返回跳转

在“通用”里面找到如下图所示的设置:

验证效果

注销账号后,再次进入登录界面便可以看到效果,如下图所示:

其他

使用gitlab账号登录后,对应gitlab账号在sonar中便会有该用户数据,此时用admin设置新的管理员后,就可以用赋予了sonar管理员权限的gitlab账号登录并把默认的admin账号注销了。