如何为大型组织设置 SonarQube

How to setup SonarQube for a large organization

我正在为一家大型组织设置 SQ。我计划有两个独立的系统,一个用于更新测试和规则开发。第二个是实际工作发生的生产系统。当我这样做时,我通常会使用 SQL 2014,我会使用 SQL always On 组同步到另一个数据中心的 DR 服务器。我的问题是 SonarQube 实例将应用程序 DR 到该级别是否有意义。如果我的组织可以等待一段时间以在 DR 事件中启动新服务器,那么是否可以通过正确备份数据库来实现?此外,如果没有数据库备份,除了 setup/config 时间之外,全新的 SonarQube 服务器还会丢失什么?代码扫描的历史价值是否会丢失,或者下一次代码库扫描是否会让我们回到发现关键问题等方面的位置? 感谢您的回复。

所有数据都存储在数据库中,因此在数据库上使用 DR 是个好主意。您应该备份数据库,恢复数据库也是一个很好的解决方案(注意您应该备份已安装的插件)。

如果丢失数据库,您也会丢失所有配置(质量配置文件、凭证等)和分析项目的历史记录。

因此,要恢复 SonarQube 实例,您必须:

  1. 恢复数据库
  2. 恢复SonarQube或安装相同版本
  3. 恢复插件(${SONAR_HOME}/extensions/plugins)

第一次启动时,会重新生成ES文件(${SONAR_HOME}/data/es),然后你的实例就会启动,运行.

如果您有商业插件或者如果您正在使用大型 SonarQube 实例,您可以联系销售团队以获得对此设置的支持。

免责声明:我在 SonarSource 工作