SonarQube:时间轴和分支

时间:2017-11-07 10:25:56

标签: git sonarqube

这个问题比技术问题更具流程性。

状况

我使用SonarQube来分析我的代码质量和Git以对我的代码进行版本化。

我的"开发"分支是构建和SonarQube每晚分析(就某些事情而言)。

在开发分支上我使用" SNAPSHOT"版本(例如1.1.0-SNAPSHOT)

当一个版本准备好生产时,我创建一个版本分支,将版本分支上的版本设置为固定版本(例如1.1.0)并将开发分支上的版本增加到下一个" SNAPSHOT&# 34;版本(前面的例子现在是1.2.0-SNAPSHOT)

至于我的发布分支被允许修改(直到它的最终版本并将合并为主)我还希望了解该分支的质量。

每次我修改发布分支时,版本也会得到一个自动增量的build-nr(所以最终的版本nr将是例如1.1.0.001)

问题

我目前在SonarQube中有一个项目。当从不同的分支建立时,这会导致我的SonarQube时间线内的间隙和跳跃。

例如:

  1. 1.1.0-SNAPSHOT
  2. 1.1.0.001
  3. 1.2.0-SNAPSHOT
  4. 1.1.0.002
  5. 1.1.0.003
  6. 1.2.0-SNAPSHOT
  7. ...
  8. 主要问题不仅是版本跳转,还有不同的问题(例如,在发布分支之后,一系列问题在开发时得到修复)。

    问题

    所以我的问题是:这个问题的最佳解决方案是什么?

    • 发布分支的跳过分析?
    • 创建自己"发布"在SonarQube上进行分析项目?
    • 还有其他解决方案吗?

1 个答案:

答案 0 :(得分:1)

取决于您的目标 - >

  • 您是否只是进行分析以了解问题,或者您是否积极地希望人们处理声纳问题并阻止他们创建问题?

    比您应该考虑实施某种工具,它在拉动请求中显示声纳问题并尝试在开发过程中详细说明SonarLint的使用

  • 您是否只想了解历史数据,代码库是如何演变的?

    比一个分支足够,我会推荐生产分支

  • 您是否希望看到真正的变化,并希望防止过多的新问题"但是全功能分支太多了?

    比我建议简单地运行开发,生产和发布分支的分析

在我们公司,几乎总是在功能分支上分析新项目,之后没有人会修复声纳问题,这只会产生很多开销。我们确实有一些项目有很旧的源代码,但即使我们尝试使用功能分支分析来改进代码库。

这实际上是一个特定于项目和目标的主题