Подтвердить что ты не робот

Работа с управлением версиями проекта Drupal/CMS

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

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

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

4b9b3361

Ответ 1

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

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

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

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

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

Ответ 2

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

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

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

Ответ 3

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

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