jenkins 如何解决“HttpException:错误413”(SonarQube)

owfi6suc  于 2023-05-06  发布在  Jenkins
关注(0)|答案(4)|浏览(387)

我最近安装了最新版本的***Jenkins***,***SonarQube 6.0***(在单独的服务器上运行),当 *Jenkins作业 * 尝试将 sonar scanner 结果上传到 *SonarQube服务器 * 时,我收到以下错误:

'ERROR: Error during Sonar runner execution
org.sonar.runner.impl.RunnerException: Unable to execute Sonar
at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91)
at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75)
at java.security.AccessController.doPrivileged(Native Method)
at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69)
at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)
at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102)
at org.sonar.runner.api.Runner.execute(Runner.java:100)
at org.sonar.runner.Main.executeTask(Main.java:70)
at org.sonar.runner.Main.execute(Main.java:59)
at org.sonar.runner.Main.main(Main.java:53)
Caused by: org.sonarqube.ws.client.HttpException: Error 413 on http://****`

可能是什么原因呢?* Sonar-project属性中存在错误?*

brc7rcf0

brc7rcf01#

我遇到了同样的错误,我的sonarqube服务器在nginx代理后面。
413 == Request entity too large @jeroen-heier说。
我对我的nginx配置进行了如下更改

server {
  ...
  client_max_body_size 20M;
  ....
}

允许请求的大小为20兆字节,这就解决了这个问题。

gudnpqoy

gudnpqoy2#

如果你在docker中运行sonar,默认的sonar镜像不包含nginx服务器,所以在container中什么都做不了
我在k8s中运行了它,在声纳服务之前有一个入口,所以你应该配置入口和服务

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: sonarqube
  namespace: default
  annotations:
    nginx.ingress.kubernetes.io/proxy-body-size: "20M"
spec:
  rules:
...

要通过掌舵图获得此信息,请添加

ingress:
  enabled: true
  annotations:
    nginx.ingress.kubernetes.io/proxy-body-size: "20M"
2guxujil

2guxujil3#

如果您使用的是nginx-ingress,请将nginx.ingress.kubernetes.io/proxy-body-size: "20M"添加到annotations:

eoigrqb6

eoigrqb64#

回答我自己的问题。原来是在www.example.com文件中设置以下属性时出错sonar.properties:

#sonar.web.host=0.0.0.0

取消注解并设置为一个地址意味着只有拥有该地址的客户端才能访问sonar qube。

相关问题