Планирование Subversion для разработки, постановки, живой - PullRequest
3 голосов
/ 14 сентября 2010

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

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

Подробности:

  • Небольшая команда разработчиков.
  • Dev и постановка существуют на одном машина.
  • Производственные версии существуют на других серверы.
  • Примерно 30 проектов связаны с сетью (веб-сайты, веб-приложения, веб услуги).
  • Примерно 30 проектов являются настольными приложения, библиотеки DLL, компоненты, летучая мышь файлы и т. д.
  • Имена суб-доменов, доступные через Только VPN-доступ.
  • промежуточные субдомены для веб общедоступный. exe постановка доступно только по VPN.
  • Каждый проект будет иметь разработчика и организация поддомена и хранилища. Версия Dev - это ветка постановка багажника.
  • Основной репозиторий dev: dev.domain.com (используются общие имена например).
  • Первичное промежуточное хранилище: staging.domain.com (общие имена используется например).

Развертывание:

Разрабатываемые версии проектов являются ветвями промежуточных стволов. Постановка содержит репозиторий для конкретных проектов. Затем файлы вручную копируются в производственную папку или выполняются сценарии развертывания.

Пример: разработчик использует локальную копию, полученную из projectname.projecttype.dev.domain.com (site1.web.dev.domain.com). Изменения вносятся в локальную версию и объединяются с веткой dev проекта для тестирования. После того, как все тестирование завершено, ветвь затем объединяется в ствол проекта. Если ствол проекта проходит все тесты, проект запускается.

Структура хранилища Subversion: * примечание: структура файла будет соответствовать структуре доменных имен. *

Ветка разработки: на этом сервере всегда происходят проверки в локальной среде разработки.

             dev.domain.com 
         web.dev.domain.com 
   site1.web.dev.domain.com
   site2.web.dev.domain.com

         exe.dev.domain.com
    app1.exe.dev.domain.com
    app2.exe.dev.domain.com

Постановка ствола: разработчики никогда не трогали. Файлы обновляются только путем объединения ветви в ствол для конкретного проекта. Проверьте установку перед запуском. Предполагается, что он способен работать, но не доступен для клиента.

             staging.domain.com
         web.staging.domain.com
   site1.web.staging.domain.com
   site2.web.staging.domain.com

         exe.staging.domain.com
    app1.exe.staging.domain.com
    app2.exe.staging.domain.com

Как это выглядит? Есть ли какая-то функциональность, которую я пропускаю или собираюсь потерять? Это лучшая система, которую я должен использовать?

1 Ответ

1 голос
/ 06 октября 2010

выглядит хорошо.По сути, у вас есть «функциональные ветви» для разработки компонентов, изолированных от каждой из ветвей выпуска (соединительных линий), для которых у вас есть политика «неактивных», поэтому они должны иметь качество выпуска в течение 90% времени.Вы можете добавить теги для своих выпусков, чтобы вы точно знали, что было выпущено (и что нужно было бы исправить, если что-то пошло не так).

Сохраняйте изоляцию проекта, пока накладные расходы остаются управляемыми.*

палец вверх.

...