我们在Jenkins上运行Sonar扫描程序(版本3.0.3.778),并使用sonar.projectKey和sonar.branch属性为每个分支创建一个新项目。即使每个分支创建一个新项目,我们仍然会随机收到错误,说项目已经在项目中进行了另一次分析。扫描程序中的一个错误似乎是当项目之间存在分离时,它会绊倒自己的锁。请注意,我们还运行Sonars服务器5.6.6版和Jenkins SonarQube插件版本2.6.1。有任何想法吗?
03:51:40 ERROR: Error during SonarQube Scanner execution
03:51:40 java.lang.IllegalStateException: Another SonarQube analysis is already in progress for this project
03:51:40 at org.sonar.batch.scan.ProjectLock.failAlreadyInProgress(ProjectLock.java:58)
03:51:40 at org.sonar.batch.scan.ProjectLock.tryLock(ProjectLock.java:50)
03:51:40 at org.sonar.batch.scan.ProjectScanContainer.doBeforeStart(ProjectScanContainer.java:109)
03:51:40 at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:140)
03:51:40 at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
03:51:40 at org.sonar.batch.task.ScanTask.execute(ScanTask.java:47)
03:51:40 at org.sonar.batch.task.TaskContainer.doAfterStart(TaskContainer.java:86)
03:51:40 at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
03:51:40 at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
03:51:40 at org.sonar.batch.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:106)
03:51:40 at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:119)
03:51:40 at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:63)
03:51:40 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
03:51:40 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
03:51:40 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
03:51:40 at java.lang.reflect.Method.invoke(Method.java:498)
03:51:40 at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
03:51:40 at com.sun.proxy.$Proxy0.execute(Unknown Source)
03:51:40 at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:233)
03:51:40 at org.sonarsource.scanner.api.EmbeddedScanner.runAnalysis(EmbeddedScanner.java:151)
03:51:40 at org.sonarsource.scanner.cli.Main.runAnalysis(Main.java:123)
03:51:40 at org.sonarsource.scanner.cli.Main.execute(Main.java:77)
03:51:40 at org.sonarsource.scanner.cli.Main.main(Main.java:61)
答案 0 :(得分:1)
扫描程序在Jenkins中创建项目工作区的临时文件。这就是为什么我们不能支持对同一物理文件集进行并发分析的原因。您必须配置Jenkins,以便它为每个分支使用不同的工作区。