web-dev-qa-db-ja.com

MSBuildを使用してJenkinsで.netアプリケーションを構築する

.net framework 3.5に構築された.netアプリケーションがあります。JenkinsCIサーバーにこのアプリケーションを構築しようとしています。 MSBuildプラグインを追加し、MSBuildの2.0、3.5、4.0バージョンの.exeファイルへのパスを追加しました。しかし、以下のエラーメッセージが表示され、ビルドプロセスが失敗します。

Path To MSBuild.exe: msbuild.exe  
Executing command: cmd.exe /C msbuild.exe Neo.sln && exit %%ERRORLEVEL%%  
[Test project] $ cmd.exe /C msbuild.exe Neo.sln && exit %%ERRORLEVEL%%  
'msbuild.exe' is not recognized as an internal or external command,  
operable program or batch file.  
Build step 'Build a Visual Studio project or solution using MSBuild.' marked uild as failure  
Finished: FAILURE  

誰も私を助けることができます.. ??

32
Bijoy K Jose

MSBuildプラグインを機能させるには、Jenkins管理画面でプラグインを構成する必要があります。

注:新しいJenkinsバージョンでは、グローバルツール構成にMSBuild構成があります。

enter image description here


Jenkins MSBuild Installation Configuration

「Name」フィールドに注意してください。ここでは、この特定の構成v4.0.30319を呼び出しています。好きな名前を付けることができますが、理想的には、名前は何らかの形でバージョンを指します。

失敗しているJenkins PROJECTでこの名前を後で参照する必要があります。

注:黄色の警告は、MSBuildフィールドへのパスにファイル名ではなくディレクトリ名を入力する必要があることを意味します。実際には、ここにもファイル名(msbuild.exeなど)を入力する必要があります。そうしないと、ビルドステップが失敗します。

失敗しているJenkinsプロジェクトで、MSBuildビルドステップに進みます。

ビルドステップの最初のフィールドは「MSBuildバージョン」です。 MSBuildバージョンを構成する前にビルドステップを作成した場合、ここでの値は(デフォルト)になります。

Jenkins MSBuild build-step, with (default) msbuild configuration selected

1つ以上のMSBuildバージョンを構成した後、ドロップダウンに使用可能な構成が表示されます。必要なものを選択してください。

ここで、上記のインストールに一致する名前付き構成を選択したことがわかります。

Jenkins MSBuild build-step, with named msbuild configuration selected

78
Damith
Jenkins | Manage Jenkins | Configure System

mSBuildセクションまでスクロールダウンし、MSBuildインストールをクリックします

msbuild.exeへのフルパスを定義し、私のシステムでは3.5とv4.0.30319があります

注-64ビットシステムであっても32ビットツールへのパスを指定すると、エラーメッセージが表示される場合があります。

MSBuild 64ビットを使用したWindows Phoneアプリケーションのビルドはサポートされていません。

だからジェンキンスでは-例えば:

名前:バージョン3.5

パス:C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe

名前:バージョン4.0

パス:C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSbuild.exe

13
Pavel Zeman

Jenkinsの設定で「msbuild.exe」の絶対パスを設定する必要があると思います。たとえば:

C:\Windows\Microsoft.NET\Framework\v3.5\msbuild.exe
6
fmgp

また、msbuild.exeがあるパスを、その特定のジョブを実行しているノードのPATHシステム環境変数に追加することもできます。

1