Работа с контролем версий в проекте Drupal / CMS - PullRequest
39 голосов
/ 24 мая 2010

Мне было интересно, как команды, разрабатывающие сайты с использованием Drupal (или любой другой CMS), интегрируют управление версиями, subversion, git или подобное в свой рабочий процесс. Очевидно, вы бы хотели, чтобы ваш пользовательский код и файлы тем находились под контролем версий, но когда вы используете CMS, такую ​​как Drupal, большая часть работы заключается в настройке модулей и настроек, которые все хранятся в базе данных.

Итак, когда вы являетесь командой разработчиков, как вы сотрудничаете в таком проекте, как этот? Полагаю, что выгрузка базы данных в файл и помещение этого файла под контроль версий может сработать, но когда сайт работает, клиент постоянно добавляет контент, что делает синхронизацию немного проблематичной.

Мне бы очень хотелось узнать, как это делают другие.

Ответы [ 3 ]

16 голосов
/ 24 мая 2010

Вы правы, что это проблема для Drupal - контроль версий работает нормально, пока вы не передадите сайт своему клиенту или не откроете его для пользователей.

Ваш вопрос выглядит как более конкретная версия one , которая касается управления версиями в рабочем процессе Drupal. Там вы можете найти ответы, которые помогут.

Для некоторых проектов я экспортировал все представления в код, используя эту функцию модуля Views, и у меня есть один проект, в который также были экспортированы все блоки. (Хотя это было упражнение на разработку, а не обычное дело с блоками.)

Посмотрите на работу, которую Development Seed делает для решения этой проблемы. Они возглавляют разработку модулей Context , Features и Spaces , которые работают вместе для хранения данных конфигурации в модулях (вне БД), чтобы может быть версии с кодом.

Существует группа Drupal под названием Packaging & Deployment для обсуждения различных решений, которые разрабатываются для этой проблемы.

1 голос
/ 25 мая 2010

В настоящее время предпринимаются большие усилия для создания чего-то, что поможет устранить трудности с dev -> production с drupal по отношению к базе данных. Особенности, о которых упоминается flaminglogos, - это одно, но я чувствую, что больше внимания уделяется созданию отдельных проектов, то есть тех, которые будут установлены на многих сайтах.

Чтобы упростить ведение баз данных dev и prod, я бы взглянул на http://drupal.org/project/deploy и http://drupal.org/project/dbscripts. Они поддерживают синхронизацию и объединение данных конфигурации drupal на стороне базы данных.

Я не могу гарантировать, что они готовы в прайм-тайм, хотя ...

0 голосов
/ 20 мая 2015

Существует много усилий для доставки следующей версии drupal с конфигурацией в коде. Это ключ, чтобы иметь его в системе версий.

На данный момент вы можете использовать модуль функций, с помощью которого вы можете экспортировать в код такие вещи, как типы контента, представления и т. Д., А затем сравнивать, создавать версии и возвращать их по мере необходимости.

...