9

Я настраиваю сервер сборки CI с Jenkins. После шагов сборки я хотел бы развернуть сайт.Развертывание через MSDeploy.exe

При публикации веб-сайта из VisualStudio, опубликованного Web Deploy. Мне нравится этот метод, потому что он фактически публикует файл, который изменился, поэтому развертывание выполняется очень быстро.

Теперь на сервере сборки я пытаюсь сделать то же самое: создать приложение (используя MSBuild.exe), а затем развернуть приложение (используя MSDeploy.exe?).

Я видел сообщение, где они разворачивают приложение, используя MSBuild.exe и другие, используя MSDeploy.exe, есть ли там существенная разница?

У вас есть советы, которые могут помочь в этом?

Спасибо и продвинутый.

ответ

14

Используйте MSBuild для создания пакета MSDeploy, а затем MSDeploy.exe для развертывания этого пакета в любых средах. Эта ссылка должна помочь вам лучше понять, как работает WebDeploy/MSDeploy.

http://dotnetcatch.com/2016/02/25/the-anatomy-of-a-webdeploy-package/

Что действительно круто вы можете использовать MSDeploy для развертывания баз данных и не-веб-приложений тоже. Используя этот метод, мы полностью автоматизировали развертывание более 50 продуктов.

http://dotnetcatch.com/2016/02/10/deploying-a-database-project-with-msdeploy/

http://dotnetcatch.com/2016/03/18/deploy-non-web-apps-with-msdeploy/

ОБНОВЛЕНО - Основные шаги по использованию пакетов MSDeploy:

  1. Создать пакет в вашей сборке, добавив /t:Package ARG к вашему MSBuild вызова
  2. магазин полученный пакет формирует каталог bin на ваш артефакт repo
  3. Вызовите MSDeploy.exe для развертывания пакета на своем целевом сервере. Здесь есть много вариантов, но : базовая команда:

    «c: \ Program Files (x86) \ IIS \ Microsoft Web Deploy V3 \ msdeploy.exe» -verb: sync -source: package = mypackage.zip -dest: auto, computerName = localhost

+0

Не могли бы вы обобщить информацию из ссылок, чтобы ваш ответ был выполнен сам по себе? –

+0

Добавлены еще несколько деталей. – chief7