我有一个简单的问题,可能有一个简单的答案,但我找不到它是什么。我们想将 SonarQube 与 Checkstyle 和其他一些工具一起部署,但我们无法确定它是用于集中式服务器部署,还是在每个开发人员机器上?所有教程都展示了在不同机器上的安装并在 localhost 中使用,同时还有一个公共实例示例,并且要求和规范看起来确实类似于服务。
另一方面,我不知道开发人员如何提交他们的代码以检查它是否在服务器上。
那么,简而言之,它是如何部署的?任何清单或类似的东西都会有很大帮助。
我有一个简单的问题,可能有一个简单的答案,但我找不到它是什么。我们想将 SonarQube 与 Checkstyle 和其他一些工具一起部署,但我们无法确定它是用于集中式服务器部署,还是在每个开发人员机器上?所有教程都展示了在不同机器上的安装并在 localhost 中使用,同时还有一个公共实例示例,并且要求和规范看起来确实类似于服务。
另一方面,我不知道开发人员如何提交他们的代码以检查它是否在服务器上。
那么,简而言之,它是如何部署的?任何清单或类似的东西都会有很大帮助。
SonarQube“运行时”架构有几个元素:
mvn sonar:sonar
) 或 gradle( gradlew sonarqube
) 运行代码分析;(C)开发人员可以通过名为 SonarQube Runner 的程序执行各种代码分析。在开发人员机器上运行分析的所有这些程序选项都需要配置为与 SonarQube 服务器通信。例如,当您使用 SonarLint 在 IntelliJ 中运行代码分析时,指标将上传到服务器。此服务器通常由所有开发人员共享,但也可以是 localhost。SonarQube 架构文档非常差(不是说缺席),因此很难了解全局。我希望这有帮助。
SonarQube(以前简称为“Sonar”)是一个基于服务器的系统。当然,您可以将它安装在本地机器上(硬件要求最低)。但它是一个带有数据库的中央服务器。
分析由一些 Sonar“客户端”软件执行,可以是 sonar runner、sonar ant task、sonar Eclipse 插件等。分析结果可以自动上传到服务器,通过 sonar Web 应用程序访问.
在有许多开发人员的环境中,您应该运行构建服务器(例如 Hudson 或 Jenkins),它执行自动声纳分析作为夜间构建的一部分。其他时间表也是可能的,但开发人员应该知道他们何时可以期待服务器端分析结果的更新。自动分析的结果可以通过声纳 Eclipse 插件显示在单个开发人员的 Eclipse 编辑器中。
Sonar 的架构文档非常少。我一直在寻找一张图片来可视化我刚刚描述的内容,但找不到...