1

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

4

1 回答 1

3

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

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

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

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

在第一次启动期间,将重新生成 ES 文件 (${SONAR_HOME}/data/es),然后您的实例将启动并运行。

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

免责声明:我在 SonarSource 工作

于 2016-03-29T08:09:16.843 回答