2014-07-11 50 views
4

我正在使用Web部署將Web應用程序從Visual Studio 2012發佈到我的目標IIS服務器。那裏一切都好!獲取Web部署以在發佈後運行批處理文件

我現在想部署到Web場中的多個服務器(在工作組內)。我已經制作了一個Robocopy腳本,用於在文件部署到第一臺Web服務器後,通過網絡將文件複製到其他主機上。我可以手動運行這個bat文件沒問題,但我想在部署過程中自動執行它。

到目前爲止,我已經成功編輯了我的VS項目中的.pubxml文件,如下所示。

<ItemGroup> 
    <MsDeploySourceManifest Include="runCommand"> 
     <Path>robocopy &quot;c:\web1&quot; &quot;\\REMOTEMACHINE\web1&quot; /MIR</Path> 
    </MsDeploySourceManifest> 
    </ItemGroup> 

這運行命令確定,但在所有文件已被同步之前。另外根據發佈日誌,它運行兩次。在文件同步過程的中間。

如何在所有文件同步之後才能調整.pubxml文件才能運行該命令?

回答

3

我相信我已經通過在TargetAfterTargets集包裹ItemGroupAddIisSettingAndFileContentsToSourceManifest解決了這個。

我還不確定爲什麼命令被執行兩次?我會歡迎任何其他建議,說明如何簡化此操作。

<Target Name="RoboCopyToHosts" AfterTargets="AddIisSettingAndFileContentsToSourceManifest"> 
    <ItemGroup> 
     <MsDeploySourceManifest Include="runCommand"> 
     .... 
     .... 
     </MsDeploySourceManifest> 
    </ItemGroup> 
    </Target>