Что вы используете для сценариев развертывания для сложных серверных продуктов? - PullRequest
0 голосов
/ 05 мая 2009

Что вы используете для сценариев развертывания сложных серверных продуктов?

Представьте, что у нас есть какой-то хитрый новый код (или, может быть, версия 42 изящного кода), и мы отправим его. Теперь, конечно, у нас есть основы - базы данных сами создают и обновляют. У нас есть хорошие "пакеты" (zip-файлы), но между "блестящим новым сервером" и "ОК, теперь нажмите кнопку" впереди "есть много - от служебных действий до сторонних программ и шрифтов.

Кстати, мы магазин MS: IIS, ASP.NET, MSSQL. В основном мы разворачиваем наши собственные серверы. По мере того как продукт становится больше и масштабируется по горизонтали, обновление большого количества серверов становится все труднее.

Просветите меня, как это легко и хорошо сделать, ответив на любой из следующих вопросов ...

  • Какое ваше любимое решение для развертывания сервера?
  • Как часто вы прибегаете к ручным действиям (добавьте это x в IIS)?
  • Кто-нибудь реально использует проекты установки веб-сайтов в Visual Studio?
  • Дешевле ли купить стажера, чем сценарий?
  • Если вы пишете сценарий, что вы используете - и вам понравилось? (Кто-то здесь только что сделал убедительный установщик из MSBUILD. После установки .NET он всегда есть.)
  • Вы научились любить WMI? Как?
  • Вы достигли трансцендентности развертывания. Простой взгляд на новый блестящий сервер развертывает код и все его зависимости? Как?

Ответы [ 2 ]

2 голосов
/ 13 июня 2011

Мы используем файлы сборки NAnt для сборки и упаковки (в zip) наших проектов. Сценарии Powershell развертывают пакет на целевых компьютерах, включая веб-приложения и службы Windows. RedGate SQL Compare / SQL Data Compare , созданный с использованием PowerShell, для обновления схем баз данных и статических данных. Все они управляются сервером непрерывной интеграции JetBrain * TeamCity .

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

0 голосов
/ 05 мая 2009

Мы используем NANT для загрузки новых версий в производство. Мы изменили его в соответствии с нашими потребностями, и он работает нормально. Нам почти никогда не нужно вносить изменения вручную, за исключением изменений в файле web.config, которые мы делаем вручную. Мы загружаем новую версию еженедельно, а в некоторых случаях мы загружаем ежедневно. У нас есть возможность откатиться до предыдущей версии, мы можем выбрать, на какие серверы загружать, мы загружаем разные ветви на разные серверы, все, что нам нужно было сделать, мы смогли построить поверх него.

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

...