コピーしたビルド プロセス テンプレートBuildAndDeploy.xaml
を変更して、InvokeProcess アクティビティを含めます。このアクティビティは_PublishedWebsites\ProjectName_Package\ProjectName.deploy.cmd
、Web アプリケーションを QA サーバーに展開するために実行されます。最終的にはProjectName.deploy.cmd
、Web ファーム内のサーバーごとに複数回実行することになりました。手動ではすべて正常に機能しますが、TFS ビルド エージェントを使用すると、_PublishedWebsites
フォルダーとその内容の作成が遅すぎます。私の最初の試みは、最後のステップとして " " シーケンスInvokeProcess
内にアクティビティを追加することでした。Compile the Project
それから「If Not DisableTests
」の後に移動しました。トラブルシューティングを行うために、BuildDetail.DropLocation
フォルダーで dir /s コマンドを実行していますが、常にログ フォルダーのみが出力され、他には何も出力されません。_PublishedWebsites
また、コンパイルされた出力とフォルダーとその内容が、実行したい時点の後に作成されていることを手動で確認しましたProjectName.deploy.cmd
ファイル。ProjectName.deploy.cmd
ファイルやその他の関連するパッケージ化されたコンテンツの準備が整っていることが保証され、理想的なワークフロー内の場所はどこですか?
TFS2010 Build Definition to Deploy to multiple serversで受け入れられた回答で与えられたアプローチに従っています。
ビルド ドロップの場所は、重要な場合は UNC パスです。MSBuild で使用されるパラメーターは、/p:DeployOnBuild=True
. TFS ビルドはパッケージを適切に作成し、実行できProjectName.deploy.cmd
、Web デプロイはスムーズに実行されます。