Организация коллективной работы над проектом — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
(Новая страница: «'''Задача:'''<br /> Допустим, у Вас есть несколько разработчиков, которые занимаются Вашим прое…»)
(нет различий)

Версия 15:07, 16 января 2011

Задача:
Допустим, у Вас есть несколько разработчиков, которые занимаются Вашим проектом. У каждого из них стоит своя задача, и, по мере её выполнения, они вносят изменения в уже установленную систему. Каким образом можно быть уверенным, что в процессе разработки все файлы останутся работоспособными и никакие данные не будут утеряны, в результате внесения не согласованных изменений?

Решение:
В действительности, решение уже существует и называется SVN (http://ru.wikipedia.org/wiki/Svn). Осталось его только внедрить.

  • центральный экземпляр системы UMI.CMS ставится на некий домен, к которому есть лицензионный ключ (фактически, это обычный работающий сайт);
  • создаётся ряд субдоменов, по одному на каждого разработчика, с разными документрутами (каталог с файлами, отличный от того, что используется центральной версией системы);
  • все эти субдомены добавляются в центральный экземпляр UMI.CMS как зеркала(в административной панели http://help.umi-cms.ru/index.html?module_config_additional_domains.htm);
  • файлы центрального экземпляра добавляются в svn;
  • на всех субдоменах делается чекаут из svn;
  • разработчики монтируют себе субдомены (любым доступным способом - NFS, SMB, shared disk и т.д.), таким образом каждый получает свою копию файлов, но все работают с одной БД (центральной);
  • когда какой-либо разработчик делает коммит файлов в своём субдомене, после этого в центральном экземпляре надо делать апдейт.



Примечания:

  • можно настроить svn, чтобы при коммите обновление в центральной системе происходило автоматически;
  • тяжёлый контент (картинки, видео) лучше загружать сразу на центральном домене, чтобы снизить нагрузку на svn.