2015-09-14 2 views
0

Я автоматизирую процесс веб-развертывания с помощью uDeploy и MSDeploy. Я создаю пакет через MSBuild, а затем развертываю его с помощью uDeploy и MSDeploy.Как создать инкрементный пакет через MSDeploy

Каждый раз, когда я создаю пакет, он копирует все файлы в созданный пакет, Есть ли способ создать пакет с измененными файлами. У меня встроенный TFS в Jenkins, я нажимаю на сборку, он будет получать только измененные файлы в моем рабочем пространстве и создавать пакет.

команда MSDeploy ниже

"${p:resource/IIS-MSD/commandPath}msdeploy.exe" -verb:sync -source:package=MarketWorkFlowWebApp.zip -dest:auto=localhost -setParam:name=%1,value=%2 -enableLink:AppPoolExtension 

аргументы MsBuild приведены ниже

/p:configuration=debug /p:outdir=.\outPutPath;DeployIISAppPath="MarketWorkFlowWebApp" /T:Package 
+0

Это не поддерживается веб-пакеты Deploy предназначены для самодостаточных и содержать все содержимое. Когда вы публикуете пакет, он должен публиковать измененный контент. –

ответ

0

Web Deploy не поддерживает создание дополнительных пакетов. Вы можете создать только полный пакет, который будет публиковать только добавленные/обновленные/удаленные файлы.

Чтобы достичь этого, вам необходимо создать собственное средство развертывания/процесс развертывания.

С уважением,

0

MSDeploy не поддерживает создание дополнительных пакетов, но это только развертывает «измененные» файлы целевого назначения по умолчанию. По умолчанию он сравнивает отметку даты/времени с файлами, чтобы определить, какие файлы были изменены. Однако это обычно плохой индикатор измененных файлов. Вы можете поочередно инструктировать MSDeploy использовать контрольную сумму файлов, а это немного больший процессор, но гораздо лучший индикатор измененных файлов.

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