sonarqube+gitlab runner +docker 代码质量检查问题汇总

环境:sonarqube8.4 community docker 部署 

   sonar-gitlab-plugin-4.1.0-SNAPSHOT.jar

      gitlab runner sonarsource/sonar-scanner-cli:4

1.

java.lang.NullPointerException
175  at com.talanlabs.sonar.plugins.gitlab.GitLabApiV4Wrapper.createOrUpdateSonarQubeStatus(GitLabApiV4Wrapper.java:211)
176  at com.talanlabs.sonar.plugins.gitlab.CommitFacade.createOrUpdateSonarQubeStatus(CommitFacade.java:128)
177  at com.talanlabs.sonar.plugins.gitlab.CommitPublishPostJob.execute(CommitPublishPostJob.java:112)
178  at org.sonar.scanner.postjob.PostJobWrapper.execute(PostJobWrapper.java:49)
179  at org.sonar.scanner.postjob.PostJobsExecutor.execute(PostJobsExecutor.java:48)
180  at org.sonar.scanner.postjob.PostJobsExecutor.execute(PostJobsExecutor.java:39)
181  at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:368)
182  at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137)
183  at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123)
184  at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:144)
185  at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137)
186  at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123)
187  at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:72)
188  at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:66)
189  at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46)
190  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
191  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
192  at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
193  at java.base/java.lang.reflect.Method.invoke(Unknown Source)
194  at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
195  at com.sun.proxy.$Proxy0.execute(Unknown Source)
196  at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:189)
197  at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:138)
198  at org.sonarsource.scanner.cli.Main.execute(Main.java:112)
199  at org.sonarsource.scanner.cli.Main.execute(Main.java:75)
200  at org.sonarsource.scanner.cli.Main.main(Main.java:61)

      这里未找到具体解决方案,我将sonar-gitlab-plugin卸载替换版本成4.0然后再替换回来(4.1)就不再出现这个问题

2.

com.talanlabs.gitlab.api.v4.GitLabAPIException: {"message":{"name":["has already been taken"]}}
222  at com.talanlabs.gitlab.api.v4.http.GitLabHTTPRequestor.handleAPIError(GitLabHTTPRequestor.java:397)
223  at com.talanlabs.gitlab.api.v4.http.GitLabHTTPRequestor.to(GitLabHTTPRequestor.java:144)
224  at com.talanlabs.gitlab.api.v4.http.GitLabHTTPRequestor.to(GitLabHTTPRequestor.java:114)
225  at com.talanlabs.gitlab.api.v4.services.GitLabAPICommits.postCommitStatus(GitLabAPICommits.java:162)
226  at com.talanlabs.sonar.plugins.gitlab.GitLabApiV4Wrapper.createOrUpdateSonarQubeStatus(GitLabApiV4Wrapper.java:211)
227  at com.talanlabs.sonar.plugins.gitlab.CommitFacade.createOrUpdateSonarQubeStatus(CommitFacade.java:128)
228  at com.talanlabs.sonar.plugins.gitlab.CommitPublishPostJob.notificationCommitStatus(CommitPublishPostJob.java:161)
229  at com.talanlabs.sonar.plugins.gitlab.CommitPublishPostJob.notification(CommitPublishPostJob.java:148)
230  at com.talanlabs.sonar.plugins.gitlab.CommitPublishPostJob.execute(CommitPublishPostJob.java:101)
231  at org.sonar.scanner.postjob.PostJobWrapper.execute(PostJobWrapper.java:49)
232  at org.sonar.scanner.postjob.PostJobsExecutor.execute(PostJobsExecutor.java:48)
233  at org.sonar.scanner.postjob.PostJobsExecutor.execute(PostJobsExecutor.java:39)
234  at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:368)
235  at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137)
236  at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123)
237  at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:144)
238  at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137)
239  at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123)
240  at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:72)
241  at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:66)
242  at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46)
243  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
244  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
245  at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
246  at java.base/java.lang.reflect.Method.invoke(Unknown Source)
247  at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
248  at com.sun.proxy.$Proxy0.execute(Unknown Source)
249  at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:189)
250  at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:138)
251  at org.sonarsource.scanner.cli.Main.execute(Main.java:112)
252  at org.sonarsource.scanner.cli.Main.execute(Main.java:75)
253  at org.sonarsource.scanner.cli.Main.main(Main.java:61)
254 Caused by: java.io.IOException: Server returned HTTP response code: 400 for URL: http://188.6.32.77/api/v4/projects/3/statuses/ad4206f7d9c2ae204a5b0039b30d92fdd377b964
255  at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
256  at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
257  at com.talanlabs.gitlab.api.v4.http.GitLabHTTPRequestor.parse(GitLabHTTPRequestor.java:355)
258  at com.talanlabs.gitlab.api.v4.http.GitLabHTTPRequestor.to(GitLabHTTPRequestor.java:142)
259  ... 30 common frames omitted

这个问题参考github,将gitlab-ci.yaml文件soanrqube的job名称修改后就解决了该问题

stages:
  - build
  - analysis
  - test
#  - package
#  - deploy
  script:
    - dotnet build --interactive --source http://10.26.6.181:8081/repository/nuget-repo-group/

sonarqube:(-->修改为sonar-analysis)
  variables:
    SONAR_TOKEN: "71df66b8e30dc18cb957d38d794a5b9d14e6a4cb"
    SONAR_HOST_URL: "http://your-sonarqube-instance.org"
    SONAR_USER_HOME: "${CI_PROJECT_DIR}/.sonar" # Defines the location of the analysis task cache
    GIT_DEPTH: 0
  stage: analysis
原文地址:https://www.cnblogs.com/c-supreme/p/13407732.html