我创建此问题是对此原始问题的后续问题: How sonarqube works
为便于阅读而重复,这是原始问题:
我有一个问题,即声纳分析如何发生。当我做 mvn sonar:sonar -Dsonar.host.url = http://sonar.com会发生什么 背景。我感觉就像
Maven将使用一些插件并与sonarqube服务器通信Load 它在位置的sonarqube服务器中具有的所有规则我们运行mvn sonar:sonar使用我们从中加载的一组规则来分析源代码 sonarqube服务器将其推回SonarQube数据库,结果将 在SonarQube服务器上显示这是它的正确方法吗 作品?或将源代码放入sonarqube服务器并进行分析 发生在声纳服务器本身中?
下面是 G的答案。 Ann-SonarSource团队实际上是指导我发布这个全新的问题,而不是在此处发表评论:
您几乎完全正确:
Maven将使用一些插件并与SonarQube服务器通信 它在SonarQube服务器中具有的所有规则的位置我们运行mvn sonar:sonar使用我们从中加载的一组规则来分析源代码 SonarQube服务器计算文件级指标 任何将数据编译成分析报告并将其推回 SonarQube服务器服务器从队列中弹出上传的报告, 并将其集成,存储问题并计算高级指标 用户在项目主页上看到更新的项目状态
这是我对上述答案的其他疑问:
1-从服务器获取声纳规则,并在另一台服务器(运行sonar:sonar的位置)中分析代码。不是其他方式吗?代码未加载到声纳服务器?当我在声纳UI中查看违反规则时,我可以看到声纳本身内部的代码。怎么发生的?
2-如果将规则加载到其他服务器,那么该服务器应具有正确的代码?分析如何进行?我们是否需要在该“其他”服务器中将规则加载到其中的代理?
3-在分析过程中,从服务器请求数据,分析提供给分析的文件,然后将最终数据以报告的形式发送回服务器,然后对服务器进行异步分析侧(docs.sonarqube.org/latest/analysis/overview)。在这里请求(然后分析)并发回数据的是什么?谁在索取数据?我们运行声纳的服务器:声纳? (PS:此处的声纳版本6.5)
谢谢!!