4

自動ビルドの最後に 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 サーバーには何も公開されません。:(

誰かが私が見逃したことについて教えてもらえますか? 私が読んだものは、私が見逃したステップを示しているようには見えませんが、これがどのように行われるかを説明する貴重なドキュメントはほとんどありません。

4

2 に答える 2

1

tfs は公開プロファイルをサポートしていないようです。

プロファイルからすべてのパラメーターを引き出して、手動で指定する必要がある場合があります。

ここに同様の質問があります。

チーム ビルド: MSDeploy を使用してローカルで発行する

于 2012-10-05T20:59:55.220 に答える