自動ビルドの最後に Web アプリケーションを自動的にデプロイしようとしていますが、明らかに何か不足しています。
私のセットアップは次のとおりです
。Win7 ワークステーション上のVS2012 serverA 上の
TFS2010 リポジトリ serverB 上の
TFS ビルド エージェント serverC 上
の IIS7 のテスト サイト。
デフォルトの MVC4 テンプレートを使用して簡単なテスト プロジェクトを作成し、MS VS Scrum 1.0 テンプレートを使用してチーム プロジェクトを作成しました。
[Web の発行] ダイアログを使用して Web アプリケーションの新しい発行プロファイルを作成し、.pubxml ファイルがプロジェクトにチェックインされました。.pubxml ファイルは次のようになります。
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>MSDeploy</WebPublishMethod>
<SiteUrlToLaunchAfterPublish>TestServer/DeployTest</SiteUrlToLaunchAfterPublish>
<MSDeployServiceURL>http://TestServer</MSDeployServiceURL>
<DeployIisAppPath>webapp-dev/DeployTest</DeployIisAppPath>
<RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>False</SkipExtraFilesOnServer>
<MSDeployPublishMethod>RemoteAgent</MSDeployPublishMethod>
<UserName>mydomain\myuser</UserName>
<_SavePWD>True</_SavePWD>
<PublishDatabaseSettings>
<Objects xmlns="" />
</PublishDatabaseSettings>
</PropertyGroup>
</Project>
*罪のない人を保護するために名前の一部が変更されています:)
このプロファイルを使用すると、アプリケーションを Visual Studio からテスト Web サーバーに問題なく発行できます。Scott Hanselman のブログ投稿に従って、ワークステーションのコマンド ラインから正常に発行しました。
msbuild DeployTest.csproj /p:DeployOnBuild=true /p:PublishProfile=Test /p:AllowUntrustedCertificate=true /p:Password=notTheRealPassword
次に、チーム エクスプローラーでビルド サーバーを使用してコンパイルし、単体テストを実行するビルドを作成しました。すべて良い。プロジェクトがビルドされ、単体テストがパスします。
次に、ビルド定義の Advanced セクションにある MS Build Arguments に、コマンド ラインからパラメーターを追加しました。
/p:DeployOnBuild=true /p:PublishProfile=Test /p:AllowUntrustedCertificate=true /p:Password=notTheRealPassword
ビルドが実行され、単体テストがパスし、Web サーバーには何も公開されません。:(
誰かが私が見逃したことについて教えてもらえますか? 私が読んだものは、私が見逃したステップを示しているようには見えませんが、これがどのように行われるかを説明する貴重なドキュメントはほとんどありません。