Я добился этого, настроив наш шаблон процесса сборки.Сделайте копию вашего DefaultTemplate.xaml (например, DefaultTemplateV2.xaml) и откройте его.
Если вы новичок в работе с редактором xaml рабочего процесса, я считаю, что сначала это помогает свернуть все.
После открытия нажмите корневую последовательность и нажмите Аргументы.Добавьте три аргумента:
- DeployBuild (Boolean) по умолчанию имеет значение False
- FromPath (String)
- InstallPath (String)
Тогда, в вашем рабочем процессе откройте следующие разделы:
- Запустите на агенте
- Попробуйте скомпилировать, проверить и ...
- В разделе Попробуйте открыть последовательность
В нижней части последовательности после получения проверенных результатов ... откройте панель инструментов и перетащите элемент рабочего процесса «Если».Установите условие для DeployBuild.
В разделе «То» элемента «Перетащите» в элемент рабочего процесса CopyDirectory.Установите для параметра Destination значение InstallPath, а для Source -
String.Format("{0}\{1}", BinariesDirectory, FromPath).
Сохраните его и зарегистрируйте его. Вам потребуется открыть предыдущую сборку и отметить подпапку сборки, которую вы хотите развернуть.Это будет что-то вроде _PublishedWebsites \ mywebsite \
Отредактируйте определение вашей сборки (вам, возможно, придется сначала закрыть и снова открыть VS) и перейти на вкладку Process.Измените шаблон процесса сборки на новую версию.
Установите FromPath на путь, который вы только что отметили.Задайте для InstallPath путь UNC к папке назначения (вам нужно убедиться, что любая учетная запись службы, под которой запускаются ваши сборки, имеет доступ к этому пути) и установите для DeployBuild значение True.
Сохранить, поставить в очередь сборкуи протестируйте ваше развертывание.
В рабочем потоке XAML вы также можете перейти к Аргументам и отредактировать аргумент метаданных с каждым из ваших новых аргументов.Вы можете установить, где они могут быть просмотрены.Таким образом, вы можете, например, установить FromPath и InstallPath так, чтобы они просматривались только при редактировании определения, а DeployBuild - в очереди на сборку.Таким образом, вы можете включить или выключить его в очереди.
Удачи.