Создание и внедрение отраслевого стандарта веб-сайта ASP.NET - PullRequest
1 голос
/ 06 ноября 2011

У меня есть решение Visual Studio 2010 с приложением для веб-сайта ASP.NET и 10 библиотеками классов.Мое требование - автоматически создавать и развертывать приложение на веб-сервере QA каждый день в 17:00.Также у меня есть различные web.config файлы для локальной машины и машины контроля качества.

Похоже, что люди так делают.

  1. Определение сборки MS
  2. Определение сборки TFS и определение на основе рабочего процесса
  3. Проекты веб-развертывания в Visual Studio 2010
  4. Указание файла решения (а не файла сборки) в очереди сборки TFS

Каков отраслевой стандарт для этого и лучший способ сделать это?Кто-нибудь может указать на это шаг за шагом?

1 Ответ

1 голос
/ 06 ноября 2011

Способ лучший ? Это то, с чем ваша команда чувствует себя наиболее комфортно в вашей конкретной среде развертывания. Точно так же, как отсутствует инфраструктура развертывания «отраслевого стандарта», развертывание «отраслевого стандарта» отсутствует.

Только для конфигурации я видел команды

  • использовать пользовательский пакетный файл, запускаемый на сервере, для извлечения кода из общего сетевого ресурса, а затем поиска и замены токенов в файлах конфигурации

  • использовать скрипт Powershell для извлечения кода из репозитория Nexus, поиска и замены токенов, а затем с помощью PSExec вызвать другой сценарий Powershell на сервере для извлечения токенизированного кода

  • создание пользовательских сценариев Nant, которые заменяют файлы конфигурации, на которые есть ссылки в web.config, а затем копируют на хост

  • копировать и настраивать файлы конфигурации вручную

Все они имели свои особые преимущества в своей ситуации: например, система, в которой имелись файлы конфигурации, свернутые вручную, имела простой и часто используемый внутренний сайт, который развертывался всего пару раз в год. Это действительно не стоило строить сложное, автоматизированное развертывание.

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

Полезные инструменты в арсенале:

  • Преобразование веб-конфигурации , которое может преобразовывать файлы web.config в зависимости от используемой конфигурации сборки. Ссылка на MSDN здесь: http://msdn.microsoft.com/en-us/library/dd465326.aspx - они относительно новые и хорошо работают, как только вы разберетесь с синтаксисом.

  • Windows Powershell , потрясающий язык сценариев, который динамичен, но имеет все .NET под обложками.

  • MSBuild, чего нельзя избежать в системах Microsoft

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

...