Jenkins集成SonarQube分析报错:无权限执行分析求解决方案
Hey, let's tackle this SonarQube authorization error you're hitting in Jenkins. From the log snippet you shared, the core issue is clear: the token you're using doesn't have the right permissions to run the analysis. Here's how to fix it step by step:
1. 检查SonarQube令牌关联的权限
先登录你的SonarQube后台,确认生成的令牌对应的用户拥有必要权限:
- 如果是分析已存在的项目:该用户需要拥有项目的
Execute Analysis(执行分析)权限,最好同时确认Browse(浏览)权限也已开启 - 如果Jenkins需要自动创建新项目:该用户还需要全局的
Create Projects(创建项目)权限
操作路径:
- 点击右上角用户头像 →
My Account→Security,确认令牌所属的用户 - 进入
Administration→Security→Permissions:- 针对单个项目:从下拉菜单选择目标项目,添加令牌所属用户/组,勾选
Execute Analysis权限 - 针对全局创建权限:切换到
Global标签,找到Create Projects权限,添加对应的用户/组
- 针对单个项目:从下拉菜单选择目标项目,添加令牌所属用户/组,勾选
2. 验证Jenkins中的令牌配置
确保Jenkins里配置的令牌和SonarQube生成的完全一致:
- 进入Jenkins后台 →
Manage Jenkins→Configure System(或Global Tool Configuration里的SonarQube服务器配置) - 检查令牌字段没有多余空格、拼写错误或缺失字符
- 如果是在任务级别单独配置令牌,还要检查Jenkins任务的SonarQube分析步骤,确认引用的是正确的凭据
3. 确认目标项目的权限设置
如果是针对特定项目的分析,务必检查该项目的独立权限:
- 在SonarQube中进入目标项目 →
Project Settings→Permissions - 确保令牌所属用户/组已被赋予
Execute Analysis权限
4. 额外排查点
- 网络连通性:确认Jenkins能正常访问SonarQube服务器,没有防火墙或代理拦截导致令牌验证失败
- 严格权限模式:如果使用SonarQube企业版,检查是否开启了严格权限模式——这种模式会限制默认访问权限,需要手动明确授予相关权限
关联日志片段:
WARN: This may lead to missing/broken features in SonarQube
INFO: 328 files had no CPD blocks
INFO: Calculating CPD for 868 files
INFO: CPD calculation finished
INFO: Analysis report generated in 818ms, dir size=42 MB
INFO: Analysis report compressed in 2897ms, zip size=6 MB
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
INFO: Total time: 2:36.346s
INFO: Final Memory: 30M/313M
INFO: ------------------------------------------------------------------------
ERROR: Error during SonarScanner execution
ERROR: You're not authorized to run analysis. Please contact the project administrator.
内容的提问来源于stack exchange,提问作者Dragos Roban

