2016-02-26 6 views
9

最近SonarQubeサーバーを最新バージョン(5.3)にアップグレードし、すべてのプラグインをアップグレードしました。サーバーは、Visual Studio Team Services(Visual Studio Online)によって構築されたC#プロジェクトの、現在のところ単一のビルドのみを監視します。SonarQube:<X行のファイルを含むファイルの行Xのメジャーを作成できません

最初はすべて正常に機能しました(別の質問で詳しく説明します)。しかし、我々はSQにデータをプッシュしようとすると以下のようなエラーを取得し始め、しばらくする:

ERROR: Error during Sonar runner execution 
org.sonar.runner.impl.RunnerException: Unable to execute Sonar 
    at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91) 
    at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69) 
    at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50) 
    at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102) 
    at org.sonar.runner.api.Runner.execute(Runner.java:100) 
    at org.sonar.runner.Main.executeTask(Main.java:70) 
    at org.sonar.runner.Main.execute(Main.java:59) 
    at org.sonar.runner.Main.main(Main.java:53) 
Caused by: java.lang.IllegalStateException: Can't create measure for line 47 for file '[PATH]/[FILENAME].cs' with 45 lines 
    at org.sonar.batch.sensor.coverage.CoverageExclusions.validateMaxLine(CoverageExclusions.java:158) 
    at org.sonar.batch.sensor.coverage.CoverageExclusions.validate(CoverageExclusions.java:129) 
    at org.sonar.batch.deprecated.DeprecatedSensorContext.saveMeasure(DeprecatedSensorContext.java:204) 
    at org.sonar.plugins.dotnet.tests.CoverageReportImportSensor.analyze(CoverageReportImportSensor.java:78) 
    at org.sonar.plugins.dotnet.tests.CoverageReportImportSensor.analyse(CoverageReportImportSensor.java:59) 
    at org.sonar.batch.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:58) 
    at org.sonar.batch.phases.SensorsExecutor.execute(SensorsExecutor.java:50) 
    at org.sonar.batch.phases.PhaseExecutor.execute(PhaseExecutor.java:98) 
    at org.sonar.batch.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:185) 
    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:132) 
    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:117) 
    at org.sonar.batch.scan.ProjectScanContainer.scan(ProjectScanContainer.java:243) 
    at org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:238) 
    at org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:236) 
    at org.sonar.batch.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:228) 
    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:132) 
    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:117) 
    at org.sonar.batch.task.ScanTask.execute(ScanTask.java:55) 
    at org.sonar.batch.task.TaskContainer.doAfterStart(TaskContainer.java:86) 
    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:132) 
    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:117) 
    at org.sonar.batch.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:122) 
    at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:119) 
    at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:79) 
    at org.sonar.runner.batch.IsolatedLauncher.execute(IsolatedLauncher.java:48) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:87) 
    ... 9 more 

我々は(sonar-プラグインの1のコードを変更関わるソリューションを記述ポスト(https://groups.google.com/forum/#!topic/sonarqube/Xju6ichZe_k)を見つけdotnet-tests-library)を実行し、サーバー上のビルドされたファイルを置き換えます。 .NETヘッドであるため、他の人々のJavaライブラリを変更する必要はありません)

これは問題の解決策ですか、それとも何か原因がありますか?現時点では、データをSonarQubeにプッシュすることを止めてしまいます。これは残念です...

答えて

1

これは、以前のビルドからのOpenCoverレポートがJenkinsに残っていたためです。

すべてが削除されたことが確認されると、問題は解決しました。複数のレポートを持つと仮定すると、ファイルを複数回処理しようとしていました。

+2

これはVisual Studioのテストコードカバレッジを使用している人にも起こりそうです。 –

3

のVisual Studioに付属2015年問題は、Visual Studio 2015のアップデートで修正される必要がある3.

がホストされているエージェントはすぐ後にアップデート3で更新する必要があるコード・カバレッジ・ツールに問題があるようですTFSのビルドチームもかなり速いです。ホストされているエージェントで使用可能なソフトウェアのリストについては、hereを参照してください。それまで

回避策:

  1. 一部のユーザーは問題がVS 2013で発生しません報告されたタスクを構築VSテストにオプションを無効にすることにより、例えば、コード・カバレッジ・ファイルを生成していません、 VS 2015の代わりにビルドやテストをしたい場合があります。
関連する問題