любой способ передать -Usechecksum в msdeploy с помощью msbuild

У меня есть веб-сайт с большим количеством файлов, использующих сборку команды и развертывание через пакеты веб-развертывания. Проблема, с которой я сталкиваюсь, заключается в том, что пакеты собираются с одной из машин фермы, и отметка времени не всегда совпадает. По умолчанию при веб-развертывании это означает полное развертывание сайта, а с таким количеством файлов и синхронизацией в кластере это не оптимально.

С развертыванием строки cmd я могу передать -UseCheckSum, и это решается для ручного развертывания. Теперь я пытаюсь использовать сборку CI с автоматическим развертыванием и передачей аргументов MSbuild через настройку сборки. Есть ли способ заставить это развернуться таким же образом?


person user1424000    schedule 06.06.2012    source источник


Ответы (2)


Вы не можете сделать это в MSBuild, но вы можете отредактировать файл Microsoft.Web.Publishing.targets на сервере сборки, чтобы применить -UseChecksum.

Смотрите мой ответ здесь: https://stackoverflow.com/a/13863041/8037

ОБНОВЛЕНИЕ: MS добавила возможность передавать флаг UseChecksum в VS 2013. Для этого добавьте в файл .pubxml следующее свойство:

<MSDeployUseChecksum>true</MSDeployUseChecksum>

Дополнительную информацию можно найти здесь: http://blogs.msdn.com/b/webdev/archive/2013/10/30/web-publishing-updates-for-app-offline-and-usechecksum.aspx

person Chris Hynes    schedule 25.02.2013
comment
ПРИМЕЧАНИЕ ДЛЯ МОДОВ: Почему вы удалили мой предыдущий ответ? Конкретно ответил на вопрос. Цвет меня смутил. - person Chris Hynes; 26.02.2013

Если под «MSBuild» вы подразумеваете конвейер веб-публикаций, то ответ — нет. Задача MSDeploy msbuild поддерживает свойство UseChecksum, но цели WPP не предоставляют механизма для его установки. Это также относится и к ряду других функций (таких как сохраненные учетные данные).

person Richard Szalay    schedule 29.09.2012