Подтвердить что ты не робот

Как расширить профиль публикации для развертывания в нескольких местах?

Ниже представлен сгенерированный профиль публикации для моей среды dev:

<?xml version="1.0" encoding="utf-8"?>
<!--
This file is used by the publish/package process of your Web project. You can customize the behavior of this process
by editing this MSBuild file. In order to learn more about this please visit http://go.microsoft.com/fwlink/?LinkID=208121. 
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>FileSystem</WebPublishMethod>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish />
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <publishUrl>\\dev\webroot</publishUrl>
    <DeleteExistingFiles>False</DeleteExistingFiles>
  </PropertyGroup>
</Project>

Что я хочу сделать, я бы себе это очень просто, я просто хочу добавить дополнительный URL-адрес публикации, где хочу опубликовать тот же проект. К сожалению, я не смог найти ничего о том, как сделать это прямолинейно. Все говорит о том, что мне нужно реализовать какое-то сложное решение msdeploy или просто отказаться от скриптов (т.е. Ps/batch + robocopy/xcopy), что нежелательно.

Я подумал, что можно просто сделать что-то вроде:

<publishUrl>\\dev\webroot;\\dev2\webroot2</publishUrl>

или

<itemGroup>
<publishUrl>\\dev\webroot;</publishUrl>
<publishUrl>\\dev2\webroot;</publishUrl>
</itemGroup>

Основной вопрос: Как расширить профиль публикации для развертывания в нескольких местах через FTP или файловую систему?

В случае ответов RTFM, пожалуйста, обратитесь к тому, где я могу прочитать об этом.

UPDATE Если можно выполнить множественное развертывание с помощью FTP, мне также будет интересно такое решение.

4b9b3361

Ответ 1

Я использую VS 2012; не знаете, какую версию VS вы используете, но вы используете публичные профили, поэтому ниже должно работать.

Я думаю, вам просто нужно создать новый профиль публикации, который вы затем настроите для использования вашего дополнительного URL публикации. Кажется простым, поэтому я надеюсь, что я не пропущу что-то в вашем вопросе. Create New Publish Profile

Ответ 2

Я не уверен, что опция публикации в VS была разработана с учетом этого. Единственное, что я могу предложить, это то, что когда ваш проект развертывается в первом месте назначения, вы используете такой инструмент, как robocopy, чтобы скопировать все в новую папку, и это довольно простое использование, вот пример использования командной строки:

robocopy <SRCFOLDER> <TGTFOLDER> /E /XO /XF *.config

rem /E  : Copy Subfolders, including Empty Subfolders.
rem /XO : eXclude Older - if destination file exists and 
          is the same date or newer than     the source - don't overwrite it.
rem /XF *.config : excludes all .config files from copy operation