将SonarLint用于带有TFS的Visual Studio:在开发团队中共享规则集

时间:2017-03-30 09:35:02

标签: c# tfs sonarqube sonarlint sonarlint-vs

我们想在一个相当庞大的C#解决方案上使用SonarQube / SonarLint,这个解决方案包含大约40个项目(C ++解决方案有望在以后推出)。但是,我们正在努力与VS整合。问题如下:

  • 我们在SonarQube服务器上定义了质量配置文件,并将我们的解决方案绑定到该配置文件。因此,SonarLint将配置文件作为.ruleset解决方案文件接收,并创建一堆文件:
    • 绑定配置(.sqconfig)(文件夹<solution dir>/SonarQube
    • 解决方案规则集(文件夹<solution dir>/SonarQube
    • 项目规则集文件(每个项目文件夹一个),允许在项目级别调整解决方案规则集(很棒和(对我们而言)重要功能)
  • 现在,我们希望与我们的开发团队分享我们的绑定和规则集。因此,我们检查了所有上述文件。但是,这有一个明显的缺点:每次SonarLint从SonarQube服务器接收质量配置文件的更改时,我们都会有一堆传出更改。调查这些变化意味着大多数(如果不是全部)文件根本没有改变,但似乎只是被触及了。这对我们来说是一个显而易见的事情,因为我们不想在常规基础上处理“污染”的传出变更列表。
    • 请注意,这可以很容易地重现:
      1. 将解决方案与质量概况绑定
      2. 签入所有新文件和已更改文件
      3. 右键单击SonarQube连接,选择更新
      4. =&GT;通过绑定解决方案创建的所有规则集文件都标记为传出更改(并且没有包含任何实际更改),刷新团队资源管理器视图无效
  • 因此,我们认为我们可以从TFS中排除所有SonarLint创建的文件。这(对我的理解)应该适用于解决方案规则集(因为该规则集自动与SonarQube服务器同步),我们可以让每个开发人员为自己处理一次解决方案绑定。但是,由于似乎无法针对VS项目调整SonarQube服务器上的质量配置文件,我们将无法使用VS项目特定规则集(或者必须手动复制它们)。

因此,我的问题是:当使用SonarLint和TFS作为版本控制系统时,开发团队共享SonarQube规则集的最佳实践是什么?

0 个答案:

没有答案