Создание пакета Web Deploy для установки версии .net и создания нового веб-сайта

Я начинаю использовать веб-развертывание для создания и развертывания веб-приложения. Пока я могу собрать пакет и развернуть его, но это не намного больше, чем развертывание xcopy.

поэтому моя команда для сборки пакета такова:

msbuild EMP.WebAdmin.csproj /T:Package /P:Configuration=Release;PackageLocation="D:\Packages\WebAdmin.zip";DeployIisAppPath="TestWebAdmin"

Если TestWebAdmin уже существует и версия .net установлена ​​на .net 4, все в порядке. Однако то, что я действительно хотел бы сделать, это проверить пакет, чтобы увидеть, существует ли уже развертывание, если не создать его (желательно в определенном каталоге), и убедиться, что все заголовки хоста установлены правильно. Я прошу слишком многого о веб-развертывании, я не смог найти хорошую статью, в которой рассказывается о том, как это сделать.

Возможно ли то, что я пытаюсь сделать?


person ilivewithian    schedule 29.10.2010    source источник


Ответы (2)


Каковы настройки на вкладке «Публикация/пакет веб-сайта» для проекта? Ваш сайт должен использовать IIS, и вам нужно установить флажок, чтобы включить параметры приложения IIS. Кроме того, как вы развертываете? Насколько я понимаю, команда msbuild, которую вы используете, создаст пакет, но где вы вызываете msdeploy?

У меня нет msdeploy, создающего приложение для меня, но он запускает сценарии обновления Sql, которые я также включаю.

person Andy    schedule 29.10.2010
comment
Да, мой сайт использует IIS, но для разработки я использую сервер разработки. Флажок для включения настроек IIS отключен, это потому, что я использую сервер разработки? Вызов msdeploy выполняется msbuild, поэтому для создания пакета я использую приведенную выше команду. - person ilivewithian; 29.10.2010
comment
Правильно, я обнаружил, что если вы на самом деле не настроите проект на использование IIS вместо службы разработки, он не будет использовать настройки IIS. Я также использую цель Package, но это только создает пакет для меня. В моем сценарии сборки nant я позже вызываю msdeploy для автоматизации развертывания в системе разработки (ну, я могу, когда она у нас есть, но я протестировал автоматическое развертывание с сервера сборки на свой ноутбук, и это работает) . - person Andy; 29.10.2010

Вы можете вызвать WebDeploy напрямую, чтобы создать свой пакет и установить это как событие после сборки:

"%ProgramFiles%\IIS\Microsoft Web Deploy\msdeploy.exe" -source:iisApp="<physical path to your app>" -dest:package=d:\myApp.zip

Таким образом, вам не нужно развертывать приложение на сервере IIS, фактически вам не нужно устанавливать IIS на поле.

person kateroh    schedule 04.11.2010