2009-07-02 3 views
2

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

Некоторые фона: Мы создавать веб-приложения, используя ASP.NET и SQL Server 2005. Есть 4 разработчиков в команде и, как правило, чтобы освободить один раз каждые 2 недели.

Это наш текущий метод развертывания: Мы разрабатываем на сервере Dev и в каждом случае Дева завершения он добавляется к серверу стадирования, где испытываются. Когда мы добираемся до даты выпуска, все случаи релиза развертываются с промежуточного сервера на сервер Live.

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

Что мы рассматриваем это добавление другого сервера к процессу выпуска, так что ...

Текущий сервер настройки: сервер Dev -> Подмости сервер -> Live сервер

Потенциальный набор серверов -до: сервер Dev -> сервер Балетмейстер ->сервер Бета (что правильное название?) -> Live сервер

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

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

ответ

3

Вы на правильном пути.

Вот как мы работаем: другие люди могут делать что-то по-другому (но они также могут ответить на ваш вопрос, и вы можете решить свой собственный подход).

1) Код встроен в dev - это неконтролируемая область.

2) Все изменения в базе данных написаны сценарием, и весь код .NET встроен в MSI. Мы развертываем их в Test. Они также хранятся где-то особенным, где их нельзя спутать. Если возникнут какие-либо проблемы, тестирование найдет их, и мы скорректируем сценарии/создадим новые MSI с исправлениями.

3) Как только тестирование завершено, среда «Pre-Production» сбрасывается с живого. Это будет похоже на идентичную копию живого. Окончательные версии запускаются в «Pre-Production». Развертывание должно работать, но это возможность убедиться в этом. Если этого не произойдет, развертывание будет настроено, и среда «Pre-Production» будет сброшена из сети в реальном времени, поэтому мы знаем, что мы тестируем ее против точной копии (нет точки тестирования ее против той, которую вы уже испортили с!)

4) Если релиз работает (и вы обычно выполняете некоторые тесты для проверки всех ваших компонентов), он готов к запуску в прямом эфире.

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

Смежные вопросы