web-dev-qa-db-ja.com

SonarQube MSBuildの統合に失敗しました:SonarQubeはプロジェクトに関する必要な情報を収集できませんでした

このようにインストールしました...

sonarqube-6.2 |ソナースキャナー-2.8 | sonar-scanner-msbuild-2.2.0.24 | msbuild 14

そして、ビルドしてスキャンするためのWindowsバッチファイルを作成しました(ソナー)。しかし、いくつかのプロジェクトは大丈夫です。しかし、いくつかのプロジェクトは失敗します。

バッチファイルは...

MSBuild.SonarQube.Runner.exe begin/k:%PROJECT_KEY%/ n:%PROJECT_NAME%/ v:%BUILD_VERSION%/ d:sonar.verbose = true

MSBuild.exe「プロジェクト」/ t:build/v:m

MSBuild.SonarQube.Runner.exe終了

エラーメッセージは...

SonarQube Scanner for MSBuild 2.2のデフォルトのプロパティファイルはC:\ SONARQUBE\sonar-scanner-msbuild-2.2.0.24\SonarQube.Analysis.xmlにあります。C:\ SONARQUBE\sonar-scanner-msbuild-2.2.0.24 \から分析プロパティを読み込んでいます。 SonarQube.Analysis.xml後処理が開始されました。 MSBuild 2.2用SonarQubeスキャナー18:50:20.591 C:\ jenkins_slave_buildpc\workspace\amis3_client_sonar.sonarqube\conf\SonarQubeAnalysisConfig.xml 18:50:20.592からSonarQube分析設定を読み込んでいますTeamBuild 18:50:20.593分析ベースディレクトリで実行されていません: C:\ jenkins_slave_buildpc\workspace\amis3_client_sonar.sonarqubeビルドディレクトリ:Binディレクトリ:C:\ jenkins_slave_buildpc\workspace\amis3_client_sonar.sonarqube\bin構成ディレクトリ:C:\ jenkins_slave_buildpc\workspace\amis3_client_son \ワークスペース\ amis3_client_sonar.sonarqube\out構成ファイル:C:\ jenkins_slave_buildpc\workspace\amis3_client_sonar.sonarqube\conf\SonarQubeAnalysisConfig.xml SonarQubeプロジェクトプロパティファイルをC:\ jenkins_slave_buildpc\workspace\amis3に生成プロパティSonarQubeMSBuildの統合に失敗しました:SonarQubeはプロジェクトに関する必要な情報を収集できませんでした。

考えられる原因:

  1. プロジェクトはビルドされていません-プロジェクトは開始ステップと終了ステップの間にビルドする必要があります

  2. サポートされていないバージョンのMSBuildがプロジェクトのビルドに使用されています。現在、MSBuild12.0以降がサポートされています

  3. 開始、ビルド、または終了のステップがすべて同じフォルダーから起動されたわけではありません

処理の概要をC:\ jenkins_slave_buildpc \ワークスペース\ amis3_client_sonar.sonarqube\out\ProjectInfo.logに書き込んでいます。sonar-propertiesファイルの生成に失敗しました。 SonarQube分析を完了できません。 18:50:20.615サマリーマークダウンファイルを作成しています... 18:50:20.617後処理に失敗しました。終了コード:1

ソナー用に同じバッチファイルを実行しました。しかし、いくつかのプロジェクトは大丈夫です。一部のプロジェクトが失敗しました。このエラーメッセージの原因は何ですか。

7
js. c

TeamcityでMSBuild.SonarQube.Runner endコマンドを実行しようとすると、同様のエラーが発生しました。プロジェクトをビルドするための開始ステップとMSBuildステップは正常に機能していました。

TeamcityでランナーとMSbuildのフルパスを指定したとき。それは私のために働いた。

C:\SonarQube\sonar-scanner-msbuild-3.0.2.656\MSBuild.Sonarqube.runner.exe 
begin /k:"Sonar key here" /n:"Sonar project here" /v:%build.number% 
/d:sonar.log.level=DEBUG 

"C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" [path for .sln file 
here] /t:Rebuild 
/p:VisualStudioversion=14.0;Configuration=Release;Platform="Any CPU"

C:\SonarQube\sonar-scanner-msbuild-3.0.2.656\MSBuild.Sonarqube.runner end
3
Anil

特にビルドサーバーからSonarQubeを実行しようとしている場合は、ローカルシステムプロファイルで動作しているかどうかを確認する価値があります。ログから、次のようなものが表示される場合があります。

Installed SonarQube.Integration.ImportBefore.targets to C:\Windows\system32\config\systemprofile\AppData\Local\Microsoft\MSBuild\15.0\Microsoft.Common.targets\ImportBefore

SonarQubeのスキャナーがターゲットをそこにインストールしたと喜んで主張したにもかかわらず、このパスが存在しないことがわかりました。私の解決策は、ビルドタスクを実行するためのビルドエージェントアカウントを作成することでした。これにより、SonarQubeはターゲットをユーザープロファイルのMSBuildフォルダーにインストールします。例えば:

C:\Users\buildagent\AppData\Local\Microsoft\MSBuild\15.0\Microsoft.Common.targets\ImportBefore
1
john-shaskin