【发布时间】: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.reposudo yum install sonar安装了该JIRA 条目的堆栈跟踪与我得到的堆栈跟踪相匹配。如果我确实同时运行了分析和插件安装(我不知道我做过吗?),有没有办法清理服务器?
标签: jenkins sonarqube sonarqube-ops