Вопрос в том, как мне лучше управлять производственной средой?Версия контролируемой производственной среды
Это наша текущая среда:
- (внутренний сервер) Разработка - версия под контролем исходного кода
- (сервер клиента) приемочного испытания среды
- (Клиент-сервер) Подмости среда
- (Заказчик сервер) Производственная среда
Когда мы выпускаем новые функции для принятия ance, мы публикуем в Visual Studio, обновляем изменения и применяем их на тестовом сервере. Там мы создаем резервную папку (чтобы мы могли отменить изменения), и мы создаем папку выпуска, чтобы мы могли перенести эти изменения в Staging, когда они были одобрены.
Это большой ручной труд, создающий резервные папки, выпуск папок, воссоздание структуры каталогов и попытку отслеживания функций, которые входят в выпуск. Это мелодично, и с разработчиком всегда есть проблема, не связанная с процедурой выпуска.
В теории я мог бы создать хранилище для тестовой среды. (забыть исходный код, речь идет о опубликованном приложении). В каждом выпуске разработчик делает фиксацию и дает комментарий о функциональности, которую он выпускает.
Когда функциональность должна быть перенесена из Test to Staging, мы экспортируем изменения, сделанные с последней даты. Обновленная среда была обновлена и скопирована в приложение Staging. Там мы делаем фиксацию, которую позже можно извлечь для выпуска в производственную среду.
Недостатки этого в том, что использование subversion будет загромождать приложение этими каталогами .svn. Это можно исправить, запретив доступ к этим каталогам в IIS или web.config. Другим решением будет использование Git в каталоге над корневым каталогом приложения. Но Git труднее работать с неопытным разработчиком в среде Windows.
У кого-нибудь есть опыт в этой проблеме? Как вы контролируете свою производственную среду? Что делать, если вам нужно отменить выпуск, есть ли резервная папка, созданная до выпуска?
Я обсуждал это с нашими разработчиками, и они не видят никаких проблем с использованием подрывной деятельности для управления версиями и резервного копирования среды тестирования/промежуточной/производственной среды. В противном случае они были бы счастливы не создавать папки выпуска/резервного копирования каждый раз, когда им нужно было выпускать новые функции.
В то же время существует определенная неуверенность в этом. Никто не слышал об этом раньше, имея приложение в системе контроля версий, и мы не уверены в том, какими будут недостатки.
Если у вас есть опыт подобного сценария, я был бы рад услышать об этом.
Микаэль Лундин