Вот что мы делаем:
- У каждого разработчика есть виртуальная машина, настроенная как наш сервер интеграции
- На сервере интеграции есть место для Магистрали, каждого пользователя и несколько слотов для филиалов
- Производственный сервер
- Крюки в Subversion для электронной почты, когда совершаются коммиты
В начале проекта пользователь создает ветку и проверяет ее на своей персональной виртуальной машине, а также получает чистую копию базы данных. Они делают свою работу, совершая на ходу.
Как только они закончили все в своем личном пространстве, они входят в сервер интеграции и проверяют свою ветвь, запускают свои тесты и т. Д. Когда все, что проходит их ветвь, объединяется в магистраль.
Магистраль перестраивается, запускается полный набор тестов, и, если все хорошо, он получает большой старый знак одобрения, помечается в SVN и повышается до уровня «Производство» в конце ночи.
Если в какой-то момент кто-то другой совершает коммит, мы получаем электронное письмо и можем объединить эти изменения с нашими отдельными ветками.