SVN и рабочий процесс развертывания

Пытаясь сделать это простым, но почти не имея опыта в управлении версиями, вот что я придумал для рабочего процесса версий и развертывания для уже существующего приложения facebook:

Разработка:

  1. ответвление от ствола

  2. проверка и настройка среды разработки (автоматическое создание базы данных, проекта netbeans, приложения facebook, файла конфигурации);

Стадия (такая же, как и в ветке разработки):

  1. запускать тесты (вручную);

  2. если все в порядке - svn фиксирует и объединяет ветку разработки / подготовки с магистралью

  3. Хук после фиксации для развертывания проекта на живом сервере и обновления производственной базы данных при необходимости.

Синхронизируйте разные ветки разработки - если одна ветвь разработки перешла в рабочую среду, объедините ее с другой ветвью (ветвями), все еще находящейся в разработке.

Есть ли вопиющие ошибки в этом рабочем процессе? Или любые предложения по его улучшению.

PS: Я пока единственный разработчик.

Изображение для иллюстрации вышеизложенного.


person Slav    schedule 21.02.2010    source источник
comment
хороший шрифт для вашего изображения! ‹/Smug›;)   -  person Jack    schedule 29.07.2010
comment
Slavcho хороший вопрос, ваша диаграмма помогла мне разобраться в том, о чем я думал - спасибо! (счастливо проголосовали)   -  person Dylan - INNO Software    schedule 01.07.2012


Ответы (2)


Звучит немного сложно.

Зачем нужны ветки для постановки? Если вы используете рабочий процесс типа «ветвь разработчика», как только вы снова выполните слияние в магистраль, это может быть то, что вы развернете.

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

person Avi    schedule 21.02.2010

Для одного разработчика в этом нет необходимости, просто разрабатывайте в своей промежуточной ветке и объединяйте в магистраль, когда будете готовы.

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

Ветки выпуска - хорошо работают для небольших баз кода, где проекты / выпуски следуют итеративному циклу разработки.

person Community    schedule 27.02.2010