Развертывание ASP.NET - PullRequest
       32

Развертывание ASP.NET

4 голосов
/ 02 октября 2008

За последние пару месяцев я писал интранет-сайт для моего колледжа с большим количеством отчетов для студентов о студентах. Все идет хорошо, но раз в неделю мне нужно идти в ИТ-отдел, чтобы они могли войти в IIS, остановить пул приложений, очистить папку сайта, очистить временный кэш asp.NET и заменить сайт новый. Не большая работа, но я бы предпочел сделать это сам, как и когда захочу.

Я не очень разбираюсь в развертывании ASP.NET, и есть ли у IIS способ обновить сайт самостоятельно (если возможно, поддерживать работоспособность системы)? В прошлый раз, когда я смотрел на это, я обнаружил, что файлы были заблокированы в каталоге веб-сайта.

Чего достигают различные варианты публикации?

Ответы [ 7 ]

2 голосов
/ 02 октября 2008

На самом деле, я работаю с 2 формами:

1) Опубликуйте форму VS в локальном каталоге, а затем загрузите (через ftp) на сервер. Я делаю так, чтобы использовать FTP-клиент filezilla и не передавать файл web.config.

2) Прекомпилируйте веб-сайт (из ccnet), заархивируйте его, передайте на сервер, подключитесь к серверу (удаленный рабочий стол) и выполните файл .bat, который переводит приложение в автономный режим ( App_Offline.htm ) , сделайте резервную копию и распакуйте новую версию. Мы планируем создать второй веб-сайт для администратора, чтобы избежать ручного подключения и запуска .bat.

2 голосов
/ 02 октября 2008

Почему вы останавливаете пул приложений и очищаете временные файлы? Он работает просто отлично, вы перезаписываете файлы на самом сайте.

Единственное, что я делаю, - это захожу в каталог bin и очищаю все случайно названные DLL-файлы.

Visual Studio также имеет собственную опцию развертывания, в которой вы можете просто указать UNC-путь и удалить старые файлы и скопировать новую версию сайта. Это даже подбрасывает app_offline.html для вас.

1 голос
/ 02 октября 2008

Вы можете просто перезаписать файлы, которые существуют, если вы идете по этому маршруту. Лично у меня есть Круиз-контроль. NET для моего развертывания, и мне это нравится. У меня есть настройка Subversion, поэтому наши системы разработки и промежуточного уровня автоматически обновляются с каждым коммитом в svn. Затем для live я помечаю все, что мне нужно, и изменяю конфигурацию, чтобы извлечь из этого нового тега для сайта Live и принудительно создать его. Это работает очень хорошо, вы должны проверить это. Он также компилирует ваши файлы .cs и не развертывается, если ваш код не собирается. Я полагаю, что Джефф использует его с помощью stackoverflow.

1 голос
/ 02 октября 2008

Вы можете активировать Frontpage-Extensions для этой сети в IIS. Они обрабатывают все развертывание и обновление. Мы активируем их для каждого веб-сайта.

Visual Studio может подключаться и развертываться непосредственно на веб-сайтах с поддержкой Frontpage-Extension, поэтому проблем быть не должно.

0 голосов
/ 02 октября 2008

Чтобы установить приложение ASP.net на наш сервер IIS (без использования Visual Studio), мы извлекаем код проекта из системы контроля версий, а затем запускаем msbuild.exe для файла проекта. Вы можете найти msbuild.exe в папке .Net framework, например:

C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \

Единственное, что нам нужно было сделать, - это скопировать целевые определения с одной из машин разработки, которые обычно хранятся в:

C: \ Program Files \ MSBuild \

Безопасно оставлять файлы .csproj / .vbproj в веб-папке, поскольку IIS их не обслуживает, поскольку для них не будет определен тип MIME на этом компьютере, но вы можете удалить их, если хотите. 1009 *

Эта настройка также легко сценариев, что является бонусом.

0 голосов
/ 02 октября 2008

Вы можете использовать такую ​​программу, как Beyond Compare, чтобы подключиться к FTP вашего сервера (которую вы можете указать на папку сайта) и загрузить новые файлы. Вы можете сравнивать свои файлы, просматривать построчное сравнение и загружать только измененные файлы. Хорошо работает для меня.

0 голосов
/ 02 октября 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...