Разработка более совершенной стратегии развертывания ASP.NET

В настоящее время мы используем следующую стратегию развертывания:

  • Запускаем пакетный сценарий для очистить все временные файлы ASP.NET
  • Запустить пакетный сценарий, который компилирует каждый файл ASPX в свою собственную библиотеку DLL (ASP.NET Web сайт , а не веб-приложение)
  • Скопируйте каждый индивидуально измененный файл (ASPX и DLL) в соответствующую папку на работающем сервере.
  • Откройте папку Сценарии развертывания , запустите каждый сценарий SQL (изменения таблиц, сохраненные процедуры и т. Д.) Вручную в производственной базе данных.
  • Произнесите молитву перед сном (может быть, подшучивая над этим).
  • Первым делом проверьте следующее утро и надейтесь на лучшее - исправляйте ошибки по мере их появления.

В прошлом нас несколько раз кусали, потому что кто-то забывал запустить скрипт, или думал, что он что-то запускал, но не выполнял, или перезаписал sproc, связанный с каким-то модулем, потому что есть два файла (один в Sprocs папку и один в связанной папке [ModuleName]) или скопировал неправильную DLL (поскольку они могут иметь одинаковые имена со случайным буквенно-цифровым числом, сгенерированным .NET).

Это кажется мне крайне неэффективным - много ручных операций и очень подвержено ошибкам. Иногда разработчику может потребоваться 2-3 или более часов для выполнения развертывания (мы делаем это поздно ночью, например, около полуночи) из-за всех ручных действий и запоминания того, какие файлы нужно скопировать, куда их нужно скопировать. , какие сценарии нужно запускать, проверяя, что сценарии выполняются в правильном порядке и т. д.

получил более простой способ, чем два часа, чтобы копировать и вставлять отдельные страницы ASPX, библиотеки DLL , изображения, таблицы стилей и т.п. и запускать около 30+ сценариев SQL вручную. Мы используем SVN в качестве нашей системы управления версиями (в основном только для обновления / фиксации, мы не выполняем ветвление), но у нас нет модульных тестов или стратегии тестирования.Есть ли какой-нибудь инструмент, который поможет нам сделать развертывание более плавным?

10
задан Wayne Molina 4 October 2011 в 13:11
поделиться