【问题标题】:Sonarqube background analysis fails, reports smells plugin does not existSonarqube 后台分析失败,报告异味插件不存在
【发布时间】:2018-06-29 06:38:19
【问题描述】:

我有一个全新的 sonarqube 安装 (6.7.1.35068),它正在使用 maven 目标从全新的 jenkins 服务器 (2.102) 调用。两者都在完全修补的 ec2-linux 上作为服务运行。

一开始它奏效了。

然后,它的声纳开始报告:

java.lang.IllegalArgumentException: Plugin [smells] does not exist

并拒绝运行后台分析,尽管 jenkins 构建报告成功。

我可以连续两次运行 jenkins 作业并获得成功和失败,而无需更改服务器或代码中的任何内容。然后连续三个失败,然后连续四个成功。

该插件确实存在,并且声纳服务器显示它已在其配置报告中加载。

我查看了机器上的文件权限,一切似乎都归具有正确权限的正确用户所有。

有人见过这种行为吗?关于我可以做哪些其他故障排除的任何想法?

非常感谢您的帮助。

编辑:这是启动时 sonar.log 的内容。

--> Wrapper Started as Daemon
Launching a JVM...
Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
  Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.

2018.01.22 13:48:02 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /opt/sonar/temp
2018.01.22 13:48:02 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on /127.0.0.1:9001
2018.01.22 13:48:02 INFO  app[][o.s.a.p.ProcessLauncherImpl] Launch process[[key='es', ipcIndex=1, logFilenamePrefix=es]] from [/opt/sonar/elasticsearch]: /opt/sonar/elasticsearch/bin/elasticsearch -Epath.conf=/opt/sonar/temp/conf/es
2018.01.22 13:48:03 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
2018.01.22 13:48:03 INFO  app[][o.e.p.PluginsService] no modules loaded
2018.01.22 13:48:03 INFO  app[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.transport.Netty4Plugin]
2018.01.22 13:48:12 INFO  app[][o.s.a.SchedulerImpl] Process[es] is up
2018.01.22 13:48:12 INFO  app[][o.s.a.p.ProcessLauncherImpl] Launch process[[key='web', ipcIndex=2, logFilenamePrefix=web]] from [/opt/sonar]: /usr/java/jdk1.8.0_121/jre/bin/java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/opt/sonar/temp -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -cp ./lib/common/*:./lib/server/*:/opt/sonar/lib/jdbc/postgresql/postgresql-42.1.4.jar org.sonar.server.app.WebServer /opt/sonar/temp/sq-process7588018711976818336properties
2018.01.22 13:48:28 INFO  app[][o.s.a.SchedulerImpl] Process[web] is up
2018.01.22 13:48:28 INFO  app[][o.s.a.p.ProcessLauncherImpl] Launch process[[key='ce', ipcIndex=3, logFilenamePrefix=ce]] from [/opt/sonar]: /usr/java/jdk1.8.0_121/jre/bin/java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/opt/sonar/temp -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -cp ./lib/common/*:./lib/server/*:./lib/ce/*:/opt/sonar/lib/jdbc/postgresql/postgresql-42.1.4.jar org.sonar.ce.app.CeServer /opt/sonar/temp/sq-process7608302589622094268properties
2018.01.22 13:48:37 INFO  app[][o.s.a.SchedulerImpl] Process[ce] is up
2018.01.22 13:48:37 INFO  app[][o.s.a.SchedulerImpl] SonarQube is up

插件服务中的“未加载模块”看起来不太好。在我的辩护中,我正在查看 sonarqube_system_info.json 并报告:

  "Plugins": {
    "groovy": "1.5 [Groovy]",
    "java": "5.0.1.12818 [SonarJava]",
    "smells": "4.0.0 [Code Smells]",
    "web": "2.5.0.476 [Web]",
    "xml": "1.4.3.1027 [SonarXML]",
    "clover": "3.1 [Clover]",
    "scmmercurial": "1.1.1 [Mercurial]",
    "Sonargraph": "3.5 [Sonargraph]",
    "aemrules": "0.9 [AEM Rules for SonarQube]",
    "checkstyle": "3.7 [Checkstyle]",
    "javascript": "4.0.0.5862 [SonarJS]",
    "status": "3.0.1 [SVG Badges]"
  },

【问题讨论】:

  • 您好,能否请您将服务器启动时显示在 logs/sonar.log 中的已安装插件列表发送给我们?谢谢
  • 您能否告诉我们,这是针对所有分析,还是仅针对其中一些分析?
  • 抱歉,我不完全确定“所有分析”是什么意思。 sonar:sonar maven 目标似乎总是成功。后台任务有时有效,有时无效。后台任务成功时大约需要 25 秒,失败时大约需要 1 秒。好像先尝试做气味插件,加载不出来,然后就不继续了。我无法弄清楚后台任务何时成功或失败的模式。
  • 谢谢,我已经能够重现此问题,但前提是在升级服务器和删除插件之前开始分析:jira.sonarsource.com/browse/SONAR-10315 如果您确定插件仍然存在在那里,如果您使用的是数据中心版,可能还有另一个问题。是你的情况吗?
  • 我没有使用数据中心版;至少据我所知不是。我使用sudo wget -O /etc/yum.repos.d/sonar.repo http://downloads.sourceforge.net/project/sonar-pkg/rpm/sonar.repo sudo yum install sonar 安装了该JIRA 条目的堆栈跟踪与我得到的堆栈跟踪相匹配。如果我确实同时运行了分析和插件安装(我不知道我做过吗?),有没有办法清理服务器?

标签: jenkins sonarqube sonarqube-ops


【解决方案1】:

这个问题可能是由于对 SonarQube 的错误使用造成的,很可能是因为在同一个数据库上使用了多个服务器。 查看更多关于如何在线程中检测的详细信息:https://groups.google.com/forum/#!msg/sonarqube/IPjmDeGDUFc/dHMfJooXAQAJ

【讨论】:

  • 我在 Google 群组here 上发起了一个新话题。我不确定配置错误可能是什么。这是一个新的服务器。使用新数据库。
  • 不——我是个白痴。还有另一个声纳服务器。
  • 感谢您的跟进,很高兴您解决了问题
猜你喜欢
  • 2014-10-11
  • 2017-07-14
  • 2018-06-25
  • 2023-01-17
  • 2018-07-12
  • 2017-07-05
  • 2016-09-25
  • 2023-03-26
  • 1970-01-01
相关资源
最近更新 更多