解决Jenkins集成SonarQube遇到的报错问题

 更新时间:2021年07月15日 11:43:57   作者:等风来~~  
本文给大家分享Jenkins集成SonarQube遇到的报错问题及解决方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

Jenkins集成Sonar过程中遇到的报错

1、jenkins中无法添加sonarqube的token凭证

因为添加的凭证类型错误,所以无法添加token,类型应该选择“Secret text”,而不是“username with password”。

2、启动sonarqube报错

#完整报错:
ERROR: [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.
bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
ERROR: Elasticsearch did not exit normally - check the logs at /opt/sonarqube/logs/sonarqube.log

原因:由于 SonarQube 使用嵌入式 Elasticsearch,请确保您的 Docker 主机配置符合Elasticsearch 生产模式要求和文件描述符配置。
解决:在 Linux 上,您可以通过在主机上以 root 身份运行以下命令来设置当前会话的推荐值:(调整系统参数)
  sysctl -w vm.max_map_count=262144
  sysctl -w fs.file-max=65536
  ulimit -n 65536
  ulimit -u 4096

3、es程序在sonarqube目录下找不到java(或者没有定义java环境变量)

#完整报错:
2021.07.12 05:59:54 INFO  app[][o.s.a.ProcessLauncherImpl] Launch process[[key='es', ipcIndex=1, logFilenamePrefix=es]] from [/opt/sonarqube/elasticsearch]: /opt/sonarqube/elasticsearch/bin/elasticsearch
could not find java in ES_JAVA_HOME at /opt/java/openjdk/bin/java
2021.07.12 05:59:54 WARN  app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [es]: 1
2021.07.12 05:59:54 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running

原因:因为用的是sonarqube:9.0.0-community最新版,可能是sonar版本问题(没弄明白)
解决:换个低版本就不会有这个问题了,比如sonarqube:8.9.1-conmunity版本

4、sonarqube高版本不支持mysql数据库

#完整报错:
Exception in thread "main" org.sonar.process.MessageException: Unsupported JDBC driver provider: mysql

原因:sonarqube7.9以上已不再支持mysql数据库
解决:换成postgresql、oracle、sqlserver数据库

5、jenkins项目中配置sonarqube Scanner 报错

#完整报错:
ERROR: Tasks support was removed in SonarQube 7.6.
ERROR:
ERROR: Re-run SonarScanner using the -X switch to enable full debug logging.
WARN: Unable to locate 'report-task.txt' in the workspace. Did the SonarScanner succeed?
ERROR: SonarQube scanner exited with non-zero code: 2

解决:删除Execute SonarQube Scanner中Task to run这一栏,什么东西都不要填

#完整报错
org.sonar.java.AnalysisException: Your project contains .java files, please provide compiled classes with sonar.java.binaries property,
 or exclude them from the analysis with sonar.exclusions property.

原因:sonarqube的sonar-java插件从4.1.2开始,强制要求sonar.java.binaries参数
解决:在Analysis properties配置中添加 ”sonar.java.binaries“ 参数

到此这篇关于Jenkins集成SonarQube遇到的报错的文章就介绍到这了,更多相关Jenkins集成SonarQube报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java中正则表达式去除html标签

    Java中正则表达式去除html标签

    Java中正则表达式去除html的标签,主要目的更精确的显示内容,接下来通过本文给大家介绍Java中正则表达式去除html标签的方法,需要的朋友参考下
    2017-02-02
  • java发送http get请求的两种方法(总结)

    java发送http get请求的两种方法(总结)

    下面小编就为大家带来一篇java发送http get请求的两种方法(总结)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • 关于Mybatis-Plus Update更新策略问题

    关于Mybatis-Plus Update更新策略问题

    这篇文章主要介绍了关于Mybatis-Plus Update更新策略问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • Java中正则表达式 .* 的含义讲解

    Java中正则表达式 .* 的含义讲解

    这篇文章主要介绍了Java中正则表达式 .* 的含义,通过举例说明了正则表达式*,+,?的区别,本文给大家讲解的非常详细,需要的朋友可以参考下
    2023-05-05
  • Spring MVC多种情况下进行文件上传的实例

    Spring MVC多种情况下进行文件上传的实例

    上传是Web工程中很常见的功能,SpringMVC框架简化了文件上传的代码,本文给大家总结了Spring MVC多种情况下进行文件上传的实例,并通过代码示例给大家介绍的非常详细,需要的朋友可以参考下
    2024-02-02
  • java直接插入排序示例

    java直接插入排序示例

    这篇文章主要介绍了java直接插入排序示例,插入排序的比较次数仍然是n的平方,但在一般情况下,它要比冒泡排序快一倍,比选择排序还要快一点。它常常被用在复杂排序算法的最后阶段,比如快速排序。
    2014-05-05
  • 带你深入了解java-代理机制

    带你深入了解java-代理机制

    Java 有两种代理方式,一种是静态代理,另一种是动态代理。如果我们在代码编译时就确定了被代理的类是哪一个,那么就可以直接使用静态代理;如果不能确定,那么可以使用类的动态加载机制,在代码运行期间加载被代理的类这就是动态代理
    2021-08-08
  • Spring Boot DevTools 全局配置学习指南

    Spring Boot DevTools 全局配置学习指南

    这篇文章主要介绍了Spring Boot DevTools 全局配置,注意包括直接重启项目与devtools重启的区别,DevTools配置,DevTools全局配置及trigger-file控制重启行为的相关知识,需要的朋友可以参考下
    2022-03-03
  • 详解Java代码常见优化方案

    详解Java代码常见优化方案

    这篇文章主要介绍了Java代码常见优化方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Java SpringBoot 使用拦截器作为权限控制的实现方法

    Java SpringBoot 使用拦截器作为权限控制的实现方法

    这篇文章主要介绍了Java SpringBoot 使用拦截器作为权限控制的实现,文中通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-10-10

最新评论