我有一个简单的问题,可能是一个简单的答案,但我找不到它是什么。我们希望将Sonarqube与Checkstyle和其他一些工具一起部署,但我们无法解决,它意味着它的集中式,服务器部署或每个开发人员机器?所有教程都显示单独的计算机上的安装,并在localhost中使用,而存在一个公共实例示例,并且要求和规格肯定看起来类似的服务。

另一方面,如果它在服务器上,我没有提到开发人员如何提交他们的代码。

所以,简而言之,它如何部署?任何清单或类似的东西都会有很大的帮助。

有帮助吗?

解决方案

Sonarqube(以前只是“Sonar”)是基于服务器的系统。当然,您可以在本地机器上安装它(硬件要求最小)。但它是一个带有数据库的中央服务器。

分析由某些声纳“客户”软件执行,该软件可能是声纳跑步者,声纳蚂蚁任务,声纳Eclipse插件等。分析结果可以自动上传到服务器,在那里可以通过该服务器访问它们声纳Web应用程序。

在具有许多开发人员的环境中,您应该运行构建服务器(例如Hudson或Jenkins),该系统执行自动声纳分析作为夜间构建的一部分。其他时间表是可能的,但开发人员应该知道他们什么时候可以期望服务器端分析结果的更新。自动分析的结果可以通过声纳Eclipse插件显示在各个开发人员的Eclipse编辑器中。

Sonar上的架构文档非常稀疏。我寻找一张图片来可视化我刚刚描述的内容,但找不到...

其他提示

sonarqube“运行时”架构有几个元素:

  1. sonarqube服务器。它包含一个数据库(例如,mysql)和一个 嵌入式Web服务器(Tomcat)。 Sonarqube服务器存储了 分析结果(度量标准),但不执行代码 分析。此服务器提供显示仪表板的Web UI 项目,各种指标和钻取到代码,管理选项。它使用可插拔架构 - 您可以通过插件添加/删除unccitionality。
  2. 程序在开发人员机器上运行代码分析。有选项:(a)如果它们使用的Eclipse或Intellij,它们可以使用相应的Sonarlint插件,它提供配置属性,菜单选项来运行分析,以显示违规的视图,等。; (b)开发人员还可以通过maven(mvn sonar:sonar)或gradle(gradlew sonarqube)运行代码分析; (c)开发人员可以通过名为sonarqube runner的程序执行各种代码分析。 运行开发人员机器分析的所有这些程序的所有这些选项都需要配置为与Sonarqube服务器进行通信。例如,当您使用SONARLINT在Intellij中运行代码分析时,将上载到服务器上的指标。此服务器通常由所有开发人员共享,但它也可以是localhost。
  3. 程序在CI / CD服务器上运行代码分析。构建软件项目的作业/管道可以配置为运行Sonarqube代码分析。它可以通过Maven或Gradle在开发人员的机器上,或通过插件来完成。有 sonarqube ci插件用于jenkins,哈德森,竹子等。根据项目的大小,您可能希望仅配置代码分析以仅在每天运行一次,而不是每个代码提交或更改依赖关系。在CI服务器上执行的SONARQUBE代码分析将同样将生成的指标发送到SONARQUBE服务器。
  4. Sonarqube架构文件很差(不说缺席),所以很难得到大局。我希望这有帮助。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top