Как расширить профиль публикации для развертывания в нескольких местах?
Ниже представлен сгенерированный профиль публикации для моей среды 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, мне также будет интересно такое решение.
Ответы
Ответ 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