前言
通过此集成,您将能够:
- 使用 GitLab 进行身份验证- 使用您的 GitLab 凭据登录 SonarQube。
- 导入您的 GitLab 项目- 将您的 GitLab 项目导入 SonarQube 以轻松设置 SonarQube 项目。
- 使用 GitLab CI/CD 分析项目- 将分析集成到您的构建管道中。从Developer Edition开始,在 GitLab CI/CD 作业中运行的 SonarScanners 可以自动检测正在构建的分支或合并请求,因此您无需专门将它们作为参数传递给扫描仪。
- 将您的 Quality Gate 状态报告给您的合并请求-(社区版没有该功能)直接在 GitLab 中查看您的 Quality Gate 和代码指标结果,以便您知道合并更改是否安全。
版本:
GitLab: 13.3.2 社区版,地址:http://10.103.237.92
SonarQube: 9.0.1社区版,地址:https://sonarqube.company.cn
SonarQube与GitLab账号打通
1. 配置GitLab
1.1. 管理员账号登录GitLab
管理中心–>应用–> 创建应用
- 名称– 您的应用程序名称,例如 SonarQube;
- 重定向 URI – 输入SonarQube地址,后面加上固定路径:
/oauth2/callback/gitlab
。例如,https://sonarqube.mycompany.com/oauth2/callback/gitlab; - 范围 - 如果您计划启用组同步,请选择api。如果您只打算委派身份验证,请选择read_user;
保存后,拿到应用ID和密码
1.2. 管理员账号登录SonarQube
开启GitLab账号登录,配入gitlab地址,应用ID,密码
根据情况是否开启,允许新用户登录和同步用户组
注意:如果登录出现“错误的重定向地址”,需要修改“通用”中Server base URL,确保登录地址、GitLab中配置的重定向地址、和sonarqube这里的base url 三个地址一致;
配置完成后即可使用gitlab账号登录
GitLab和SonarQube项目集成
1. GitLab配置个人访问令牌
1.1. 至少拥有reporter权限的账号登录GitLab
创建个人访问令牌,注意:不要使用管理员账号,管理员账号没有项目权限;需要账号在项目下;
1.2. 管理员登录sonarqube
还是老地方,创建配置
在弹出框中,输入上步生成的个人访问令牌,GitLab地址为gitlab的api地址,可以访问/help/api/README.md
进行查看
新增项目–>gitlab,输入访问令牌,大功告成