17

現在、Visual Studio Team System 2010 RC を実行しており、ビルド サービスをセットアップしてソリューションをビルドし、3 つの Web アプリケーションをデプロイしようとしています。Integration というカスタム ビルド構成を作成し、各 Web アプリケーションの [プロパティ] の [パッケージ/発行] タブで [宛先サーバーで使用する IIS Web サイト/アプリケーション名] を設定しました。

ビルド定義では、次の引数を設定しました。

/p:DeployOnBuild=True /p:DeployTarget=MSDeployPublish /p:MSDeployPublishMethod=InProc /p:MsDeployServiceUrl= http://my-server-name:8172/msdeploy.axd /p:EnablePackageProcessLoggingAndAssert=True

ただし、ビルドを実行すると、3 つの Web アプリケーションすべてで次のエラーが発生します。

setAcl (MyProjectName) を更新しています。

C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(3481,5): エラー: Web 配置タスクが失敗しました。(不正な操作を試みた。)

これは私の実際の問題ではないと思います。このエラーは、ログ内の次のエントリの後に発生しています: Updating setAcl これがエラー メッセージの原因ですが、MSDeploy は、MsDeployServiceUrl パラメーターで指定したサーバーではなく、ビルド サーバー上のローカル IIS にデプロイしようとしているようです。

C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets にあるターゲット ファイルを確認した後、ログを追加する EnablePackageProcessLoggingAndAssert を追加しました。ログには、MsDeployServiceUrl の値の空の文字列が表示されます。また、ターゲットで MsDeployServiceUrl の s が小文字であることにも気付きました。これは、タスク名 MSDeployPublish の S が大文字であるため、やや混乱します。大文字を使用してから、再び小文字を使用してみましたが、どちらも機能しませんでした。

他に注意すべき点がいくつかあります。

  1. 私のビルド サービスは NETWORK SERVICE として実行されています。
  2. 展開しようとしているサーバーは別のドメインにあります。
  3. また、 /p:username=mydomain\myusername /p:password=mypassword を MSBuild パラメーター リストに追加しようとしましたが、役に立ちませんでした。

正しいパラメーターを指定しているかどうかは誰にもわかりませんか? または、正しいものを教えてください。

ありがとう

4

3 に答える 3

26

パラメータを何度も変更した後、解決策を見つけて、ビルドを正常にデプロイすることができました。最終的に使用したパラメーターは次のとおりです。

/p:DeployOnBuild=True
/p:DeployTarget=MSDeployPublish 
/p:MSDeployPublishMethod=**RemoteAgent** 
/p:MsDeployServiceUrl=http://my-server-name
/p:username=myusername 
/p:password=mypassword

MSBuildを使用する場合InProcMsDeployServiceUrlを無視し、常にローカル サーバーにデプロイしようとするようです。に変更したところ、正常にデプロイされました。Package ファイルがMyWebApplication_Packageフォルダーに含まれなくなったことに気付きましたが、それは私にとって大したことではありません。MSDeployPublishMethod RemoteAgent

于 2010-04-16T15:34:39.493 に答える
0

vs2010がRTMされていることを考えると、アップグレードするだけで問題が解決するかどうかを確認できます。

于 2010-04-15T17:41:34.310 に答える
0

チーム ビルドが実行しているビルドでは、どのファイルを指定しましたか? ソリューション ファイルの場合、これらのプロパティを渡すだけでは、ビルド時に各プロジェクト ファイルに反映されるわけではありません。ソリューション ファイルをビルドするとき、限られた一連のプロパティのみがビルド中のプロジェクトに渡されます。この場合、基本的にソリューション ファイルを置き換えてこれらのプロパティを渡す .proj ファイルを作成する必要があります。

私は最近、ソリューション ファイルを MSBuild ファイルに置き換える方法についてブログを書きました。

これがあなたに当てはまらない場合、または役に立たない場合はお知らせください。

参考までに、MSDeploy のこの他のスレッドにも興味があるかもしれませんが、ここで抱えている問題とは異なります。TFS2010 で MSBUILD を使用して MSDEPLOY を実行するにはどうすればよいですか? .

于 2010-04-16T04:12:23.060 に答える