Jenkins Pipeline中的Sonarqube阶段失败,出现403错误

40次阅读
没有评论

问题描述

在Jenkins Pipeline中的Sonar Quality Gate阶段遇到了以下错误:

[Bitbucket] Build result notified  org.sonarqube.ws.client.HttpException: Error 403 on http://illinXXXX:XXXXX/api/qualitygates/project_status?analysisId=XXXXXXXX

更奇怪的是,同一代码库中的另一个Pipeline却通过了这个阶段。它们都使用相同的Sonarqube用户和令牌,以及相同的阶段语法。
Sonarqube版本:6.7.1 (build 35068)。

备注:
– 我也尝试了这个解决方案,但没有成功。
– org.sonarqube.ws.client的日志记录器不起作用,它不会将任何内容写入日志。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

解决方案1

问题可能是执行用户/组没有运行“Execute Analysis”的权限。可以通过更新默认模板的权限并将其应用到项目中来解决这个问题。
以下是解决方案的步骤:
1. 登录Sonarqube控制台。
2. 导航到“Administration”(管理)>“Security”(安全)>“Templates”(模板)。
3. 找到默认模板并点击编辑。
4. 在权限部分,确保执行用户/组具有“Execute Analysis”权限。
5. 保存更改并将模板应用到相关项目中。

解决方案2

如果解决方案1没有解决问题,可以尝试以下步骤:
1. 登录Jenkins控制台。
2. 导航到“Manage Jenkins”(管理Jenkins)>“System Log”(系统日志)。
3. 添加一个新的日志记录器,名称为“org.sonarqube.ws.client”,日志级别设置为“DEBUG”。
4. 重新运行Pipeline并查看日志,以获取更详细的错误信息。
5. 根据错误信息尝试解决问题,可能涉及令牌错误、反向代理、插件问题或SSL证书问题。

解决方案3

如果以上解决方案都没有解决问题,可以尝试以下步骤:
1. 确保Sonarqube服务器的URL是正确的,并且可以从Jenkins服务器访问。
2. 检查Sonarqube服务器的日志,查看是否有任何与此问题相关的错误或警告。
3. 确保Sonarqube用户和令牌是正确的,并且具有足够的权限执行分析。
4. 检查是否有任何反向代理或防火墙配置可能导致连接问题。
5. 如果使用的是HTTP而不是HTTPS,请确保服务器配置正确,并且没有SSL证书问题。

以上是解决此问题的几种可能方案。根据具体情况,您可以尝试逐个解决方案,以找到最适合您的情况的解决方法。

正文完