SonarQube规则在启动时被禁用

时间:2015-06-18 09:42:39

标签: sonarqube

我最初在我的开发机器上设置了一个Sonar服务器,但后来在官方Linux机器上创建了一个服务器,目的是停止使用开发服务器。在此过渡期间,我可能同时运行两个服务器(指向同一个Sonar数据库)。

现在我看到一些奇怪的行为。本地服务器运行正常,我可以运行Sonar构建。但是,当我启动Linux服务器时,它无法加载任何规则,我在启动日志中看到以下内容,并且规则页面显示“没有编码规则”。

2015.06.18 09:32:10 INFO  web[o.s.s.r.RegisterRules] Disable rule squid:S1181
2015.06.18 09:32:10 INFO  web[o.s.s.r.RegisterRules] Disable rule squid:S1151
2015.06.18 09:32:10 INFO  web[o.s.s.r.RegisterRules] Disable rule squid:S1150
2015.06.18 09:32:10 INFO  web[o.s.s.r.RegisterRules] Disable rule squid:S1153
2015.06.18 09:32:10 INFO  web[o.s.s.r.RegisterRules] Disable rule squid:S1148
2015.06.18 09:32:10 INFO  web[o.s.s.r.RegisterRules] Disable rule squid:S2236
2015.06.18 09:32:10 INFO  web[o.s.s.r.RegisterRules] Disable rule squid:S1147
2015.06.18 09:32:10 INFO  web[o.s.s.r.RegisterRules] Disable rule squid:S1149
2015.06.18 09:32:10 INFO  web[o.s.s.r.RegisterRules] Disable rule squid:S2232
2015.06.18 09:32:10 INFO  web[o.s.s.r.RegisterRules] Disable rule squid:S1143
2015.06.18 09:32:10 INFO  web[o.s.s.r.RegisterRules] Disable rule squid:S2235
2015.06.18 09:32:10 INFO  web[o.s.s.r.RegisterRules] Disable rule squid:S1145
2015.06.18 09:32:10 INFO  web[o.s.s.r.RegisterRules] Disable rule squid:ClassCyclomaticComplexity

当我查看规则表时,我注意到所有规则都具有“已删除”状态。现在,当我停止Linux服务器并启动另一个服务器时,该表突然有270个奇怪的规则,状态为“READY”。

看起来当Linux服务器启动时,它会停用所有可用的规则,但另一台服务器可以再次在这个表中获取它们。

我找不到有关此行为的任何文档,但似乎是两台服务器之间的冲突。任何人都可以帮助我为Linux服务器激活规则吗?

1 个答案:

答案 0 :(得分:2)

您很可能在两个实例之间没有相同的插件集。请检查两台服务器上TransformResults = docs => (from doc in docs select new SearchResult { Name = doc.Name, Categories = doc.Categories, // pretend that doc.Votes is a collection of large objects that you don't want coming back from a search UpvotesCount = doc.Votes != null ? doc.Votes.Count(v => v.Type == "Upvote") : 0 } 目录的内容,如果它们不相同,则必须使用更新中心安装缺少的插件。

另请注意,不支持与两个服务器实例共享同一个数据库,这可能会导致极其奇怪的行为。