2016-09-28 146 views
0

我最近在發佈過程中集成了sonarqube。我已將泄漏期限設置爲整合日期,並規定quality gate定義自泄漏期開始以來應該沒有新的問題。Sonarqube在計算新漏洞/漏洞/漏洞時沒有遵守git提交日期

問題是,只要文件發生變化,sonarqube開始考慮所有以前的問題作爲新問題。這對於大文件尤其有問題,因爲正在對文件進行任何更改的人需要回顧性地進行所有更正。我想sonarqube要做的是尊重承諾日期的責任信息和定義new通過比較提交日期與泄漏期限。

如何使這成爲可能?我正在使用sonarqube 6.0

回答

2

您的用例位於SonarQube Leak Concept的核心位置。您所需要做的就是確保有一個與泄漏期開始相對應的分析,並根據當時已存在的問題確定基線。正確的做法是實際使用sonar.projectDate(請參閱Analysis Parameters)進行初始分析。底線:

  • 退房提交相當於集成你的情況
  • 通過設置sonar.projectDate作爲該承諾的日期和sonar.projectVersion基線分析它例如
  • 設置您的泄漏期限爲基線
  • 對於所有進一步分析,泄漏將對應於自初始基線以來引入的新問題。遺留問題(在整合之前)將被視爲遺留問題,並且不在泄漏期中記錄,您的質量門就可以按照您的預期完成工作。

FYI SCM 信息由SonarQube的問題自動assignement以及有關新代碼覆蓋的標識,但它不能可靠地確定哪些問題是新的或不:想象一個變量在你的代碼中定義和使用,如果一個提交消除了它的使用,那麼它會在變量定義上產生一個變量未使用的問題,而那個精確的行沒有被任何提交所觸及。這就是爲什麼相對於SonarQube首次檢測到它們的日期(之前的分析期間),問題被確定爲新的,因此上面詳細介紹了工作流程。