JenkinsをWindowsServer 2012にインストールしましたが、すべて正常に機能しました。ただし、MSBuildおよびVSコードメトリクスプラグインを構成しようとすると、次のエラーが発生します。
C:\ Windows\Microsoft.NET\Framework\v3.5\msbuild.exeはJenkinsマスターのディレクトリではありません(ただし、一部のスレーブには存在する可能性があります)
パスを確認しましたが、パスは正しいのですが、Jenkinsはパスにアクセスできません。
誰かが何が間違っているのか提案できますか?.
ありがとう
C:\ Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe [。 ]
Jenkinsは、その要件について非常に事実上嘘をついていました。 MSBuild.exe
is実行可能ファイルであり、レポートどおりのディレクトリではありません。入力ボックスexpects MSBuild.exeを含むフォルダーを識別しますただし、実行されるジョブ MSBuildは、ファイル名を指定していることを想定しています。ジョブと構成マネージャーの間のこの不一致を回避する方法は、「プラグインの追加」ページの検証要件を満たすために、Add the MSBuild
入力に実行可能ファイルの名前を指定せずにPath to MsBuild
プラグイン構成を行うことです。
プラグインを追加したら、Path to MsBuild
を変更して、実行可能ファイルの名前(もちろん、MSBuild.exe
)を含めることができます。検証エラーではなく、警告が表示されます。
警告を無視します。 とにかく保存してください。
プラグインの追加に必要な初期検証をバイパスし、「正常に機能」します。
他のポスターで言及されているように、Jenkinsサービスは、「デスクトップとの対話を許可する」ことにより、ファイルシステムへのアクセスを許可する必要があります。
ただし、主な問題は、プラグイン構成が構成を使用するエージェントと競合することです。プラグインを使用してビルドを実行するには、回避策を使用する必要があります。
私は同じ問題を抱えていました、私にとっての解決策は:
JenkinsをWindowのサービスとして実行している場合は、サービスがデスクトップと対話できるようにする必要があります。以下をせよ:
サービスモジュールを開きます(押す:WindowsKey + R> Services.msc)
-OR-
コマンドラインからJenkinsを実行するだけで実行できます。つまり、「Java -jarjenkins.war」(jenkins.warファイルはJenkinsインストールディレクトリにあります)。
乾杯、
J。
警告を回避するために、パスのmsbuild.exeの末尾から拡張子「.exe」を削除します。C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild
。
したがって、Jenkinsを備えた2つのサーバーがあります。1つはマスター(msbuildがありません)で、もう1つはスレーブ(これにはmsbuildがあります)です。ジョブが(マスターで)実行されると、msbuildステップはマスターに存在しないため、失敗します。
マスターではなく、msbuildを使用するサーバーでのみジョブを実行するように強制する必要があります。これを行う方法は次のとおりです。
msbuild
を追加しますmsbuild
を追加します上手
C:\Windows\Microsoft.NET\Framework\v3.5\
マスターサーバーに存在しますか?この問題は1.26リリースで解決されたようです: JENKINS-28679
「...はJenkinsマスターのディレクトリではありません...」というエラーメッセージも表示されますが、ビルドしようとするととにかく機能します。
(デフォルト)の代わりに、プロジェクトのMSBuildバージョンを選択することを忘れないでください。