3

On learning about integrating Sonarqube to CI/CD pipeline, I came across the Sonarqube Jenkins plugin which most of the online blogs recommends.

After configuring it, I realized that the working is the same as that of running the sonar-scanner through the command line using below command.

sonar-scanner.bat -D"sonar.projectKey=test" -D"sonar.sources=." -D"sonar.host.url=http://localhost:9000" -D"sonar.login=erwerwerwerwer"

Same is applicable for any tool, as most can be executed through command line.

So I am confused about,

what's the advantage of using a plugin over just running the tools as windows batch command in Jenkins build step.?

PDHide
  • 133
  • 3
  • More details in its documentation (and if it fails answering your question, [edit] to explain why it doesn't answer): https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-jenkins/ – Tensibai Jul 15 '19 at 13:29

1 Answers1

2

Any CI/CD plugin can ultimately be scripted. However, using plugins gives you better centralized control.

Consider the following scenario: Your SonarQube server location has to move to a new location.

If you are using a script like the example you provided above, you would need to manually update every script. This process is error prone as you may miss a script or worse, type the wrong address. Instead, if you are using a plugin you can update the server location once and be done.

Wesley Rolnick
  • 2,747
  • 11
  • 26
  • If I move the server , the plug-in requires same amount of rework as with plug-in. For instance, pointing to new sonarqube-scanner location and all. Ya if I choose automatic installation then your answer is correct. – PDHide Jul 15 '19 at 14:44
  • 2
    @PDHide: You are correct if you have one build pipeline. But imagine how this will scale if you had 5, 15, 100 pipelines. One global configuration can save a lot of time in this type of setup. – Wesley Rolnick Jul 15 '19 at 14:57