Как управлять сайтом drupal в git - PullRequest
5 голосов
/ 24 февраля 2010

Я немного растерялся, один из моих коллег-разработчиков делает сайт drupal, который делает специальные страницы, пользовательские логотипы, пользовательскую иерархию и т. Д. Его работа разбросана по таблицам базы данных (похоже, CCK создает таблицы ), строки базы данных (тексты, ссылки на изображения и т. д.), статические файлы (изображения, PDF-файлы ...) и, возможно, некоторый PHP (пользовательский модуль).

Моя проблема заключается в том, чтобы получить его работу в репозитории git и иметь возможность развернуть его на различных серверах согласованным образом, как я бы сделал с традиционной работой разработчика (скажем, J2EE). Одно из моих ограничений - избегать необработанного SQL, потому что мы можем развернуть один и тот же код в разных RDBMS. Но если мне придется, я ослаблю это ограничение.

Я не могу найти модуль, который делает это из коробки, у вас есть какой-нибудь указатель, который я мог бы пропустить на сайте drupal?

Спасибо за вашу помощь,

Nicolas.

Ответы [ 3 ]

4 голосов
/ 04 марта 2010

Использование Функции вместе с Контекст очень мощный. Контекст позволяет вам создать «раздел» для вашего сайта. Лучше всего это проиллюстрировать на примере:

Допустим, мы определяем контекст "Форума" как что-либо с URL-адресом форумов / *. Контекст позволяет нам сказать: «Я хочу показать эти три представления в правой боковой панели, только когда я нахожусь в контексте« Форумы ».

Теперь, используя Функции, мы можем создать «модуль», определяемый контекстом. Итак, в итоге мы получим модуль под названием «youSite_forums», который будет включать в себя все представления, блоки и т. Д., Которые были определены в контексте вашего форума. Он также определит правильные зависимости, а также типы контента, используемые в контексте. Все будет красиво упаковано в модуле.


Что касается управления версиями контента, такого как узел, вы можете использовать либо Node Export, либо просто сделать дамп БД с помощью Backup and Migrate. Мы используем их время от времени, но у нас никогда не будет версий каждого узла в SVN.


Ссылки:

Особенности

Контекст

Резервное копирование и миграция

4 голосов
/ 24 февраля 2010

Модуль Особенности может получить вас, если вы хотите пойти. Это позволяет экспортировать различные конфигурации сайта и модуля. Экспорт выполняется в виде пользовательского модуля Drupal, который вы затем можете хранить и управлять им через git, а затем распространять эти функции на другие сайты Drupal.

http://drupal.org/project/features

больше информации (и скринкаст) по модулю:
http://developmentseed.org/blog/2009/may/29/making-and-using-features-drupal

2 голосов
/ 07 марта 2010

Возможно, вы также захотите изучить услуги и развертывание. Развертывание использует службы xmlrpc server для передачи большей части данных drupal с одного сайта на другой или, в вашем случае, вашей установки devs на промежуточную установку.

http://drupal.org/project/Services

http://drupal.org/project/deploy

Что касается метода «последовательного развертывания его на различных серверах», посмотрите Capistrano с railsless-deploy. Настроить некоторые задачи так просто, что я использую их для развертывания всех своих сайтов на друпале.

http://www.capify.org/index.php/Capistrano

http://github.com/leehambley/railsless-deploy

...