Analyze model for big project


(Maciej Ptak) #1


Must-share information:

  • which versions are you using (SonarQube, Scanner, Plugin, and any relevant extension)
    SonarQube 6.7, Bitbucket 5.0.5
  • what are you trying to achieve
    Get best Model Analyzes
  • what have you tried so far to achieve this
    Analysis mode = Leak period

For a big project with 6 layers of branch levels (feature branch, product branch, staging branch, qa branch, pre-prod branch, production branch) what analysis mode do you suggest?

Currently we are using Leak-period, that results in hundreds of projects. Main issue we are having is that false-positives and won’t fixes are not populated within different projects. I have read the documentation that false-positives are transferred when merging short-lived branch and long-live one. Does it also working for merging 2 long-lived branches? The thing is on feature branch level we are having short live ones, on all layers above we would have long-lives. Is my thinking correct? What would be the best approach towards it? I have been checking issue resolver plugin but I am getting an error while importing issues.

Any other pro-tips for big projects?

We are using Jenkins+Bitbucket (Sonar add-on) +SonarQube (Community Edition - at least Developer Edition or Comercial is mandatory, right?)

(G Ann Campbell) #2


It’s not clear to me how your “6 layers of branch levels” work in practice, so it’s difficult to propose a strategy. (Perhaps you could describe the lifecycle for a single bug fix or new feature?)

However, I can answer your question about FP issues; they won’t be propagated from Long-lived branch to Long-lived branch; the underlying expectation is that such branches won’t be merged into each other.


(Maciej Ptak) #3


For example we have product branch ‘5th’. Developer branch out from this creating ‘6th’ - develop feature X1 and then merge. In the meantime other developers also branch out from ‘5th’ creating other '6th’s where they develop X2 and X3.

After some time 5th merges with 4th (staging), as well as other '5th’s (features Y1, Y2, Z1, Z2, X1, X2, X3 are on 4th). Then after all merges it’s merging with 3rd (qa) and there is uat phase. Afterwards merge with 2nd(preprod) and 1st(production)

I hope it makes things clear :wink:
So in that approach, short live branches should be 6ths, and long-live - 5ths.
So there is no way to have all false positives on 4th sonarqube branch related project?

(G Ann Campbell) #4


It’s still not quite clear to me. Did you mean “6th merges with 4th, as well other '6th’s”?

But at any rate, FP/WF issues will be carried from a short-lived branch over to its target long-lived branch. Since you appear to merge the same short lived branch into multiple long-lived branches(? or to merge long-lived branches into each other?) then you’re in a scenario that’s not covered.


(Maciej Ptak) #5


We are merging long-live branches with other long-live branches. If that scenario is not covered then if there is any workaround or is it planned to be supported in newer version of Sonar?


(G Ann Campbell) #6


That scenario isn’t supported and there’s currently no plan.