Подтвердить что ты не робот

Мнения о MSDeploy

Вы знаете, следующее "большое" и "деловое" дело от Microsoft.

Это только я, или это действительно трудно для людей? Основные моменты: (IMO):

  • Абсолютно критический синтаксис (-skip:objectName=filePath,absolutePath=App_Offline.* только для пропусков App_Offline.html)
  • Манифест как мысль после
  • Отсутствие полной документации
  • Ни слова о расширяемости (кроме нескольких сообщений в блоге). Более того, все эти расширения, разработанные с большим трудом, должны быть зарегистрированы в GAC и в реестре.
  • Waaay слишком низкоуровневый (метаданные/метаки, весь этот джаз IIS)
  • Нет интеграции с MSBuild

Конечно, MSDeploy и MSDeployAgent достаточно мощные, но действительно ли они должны быть такими сложными для относительно простых задач?

4b9b3361

Ответ 1

Я тоже разделяю ваши разочарования в связи с отсутствием документации и очевидным низкоуровневым характером этого инструмента.

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

Теперь нам нужен действительно хороший графический интерфейс, который может помочь в создании этих пакетов и скриптов и т.д. Графический интерфейс, встроенный в IIS, хорош, но опять же, короткое объяснение - так, надеюсь, скоро это будет рассмотрено.

С функциональной стороны, я использую в данный момент для развертывания сайта с dev → постановка → жить с параметрами, чтобы изменить связанные IP-адреса и т.д. Я был глубоко разочарован тем, что мне потребовалось несколько дней, чтобы все это работало - однако теперь у меня есть это, я могу удалить много возможной человеческой ошибки со стороны ИТ-поддержки - которые несут ответственность за наши развертывания. У меня теперь есть только конфигурация моего промежуточного сервера, и вы можете быть уверены, что все серверы в веб-ферме будут синхронизироваться при каждом развертывании.

Как упоминалось в Sayed, в 2010 году есть задачи MSBuild (теперь функция развертывания веб-сайта используется с помощью msdeploy), что также позволяет использовать настоящую непрерывную интеграционную среду для VSTeamSystem - создание команды который действительно может выполнять полное веб-развертывание, поскольку его последний шаг очень увлекательный (и страшный, предоставленный!).

Ответ 2

На самом деле для MSDeploy существуют задачи MSBuild. Они будут поставляться с .NET 4/Visual Studio 2010.

Ответ 3

Несмотря на то, что по краям немного грубо, я немного походил на MSDeploy. Использование его для синхронизации веб-серверов в ферме очень полезно, поскольку оно является эффективным (только копирование изменений) и заботится о фактических настройках IIS в дополнение к файлам содержимого. Похоже, что MSDeploy является строительным блоком для различных сценариев и использования. Кроме того, как упоминалось ранее, для MSDeploy в .NET есть задача MSBuild. Я воспользовался этой задачей MSBuild, чтобы упростить развертывание моих веб-приложений из TeamCity. Я написал здесь здесь:

Веб-развертывание (MS Deploy) из TeamCity - http://www.geekytidbits.com/web-deploy-ms-deploy-from-teamcity/

Ответ 4

Недавно я начал внедрять конвейер развертывания, и я нашел ссылки ниже полезными:

Также я использовал эти ссылки:

  • Видео о MSBuild на dnrtv.com
  • Книга Microsoft Press под названием "Внутри Microsoft® Build Engine: использование MSBuild и Team Foundation Build", которую вы можете купить в PDF-версии от Oreilly.

Наконец, книга "Непрерывная доставка" дала мне хорошие идеи о линии развертывания, хотя книга не фокусируется на MSDeploy, но это действительно стоит прочитать.

Ответ 5

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

Я действительно подумываю о том, чтобы избавиться от своих навыков письма и написать короткую книгу на нем, потому что, вероятно, рынок для нее...

Ответ 6

У Msdeploy определенно есть прикосновение к PowerShell: власть над простотой, а не хуже, чем лучше.

Нет альтернативы Windows, но вы можете гибридизовать некоторые свои возможности для автоматизации развертывания. Например:

  • Скомпилируйте свое решение с Team City и msbuild
  • Используйте msdeploy для преобразования вашего сайта и web.configs на сервере сборки.
  • Вручную FTP файл ZIP вашего сайта (он не поддерживает FTP)
    • В качестве альтернативы используйте возможности удаленного развертывания. Для этого требуется, чтобы порт 8172 был открыт, много изменений безопасности, и насколько я знаю, никаких уступок для балансировки нагрузки
  • Использовать msdeploy на текущем сайте для синхронизации изменений

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