Drupal6: этап разработки -Онлайн для небольшой группы разработчиков

#php #drupal #production #stage

#php #drupal #производство #этап

Вопрос:

Завтра я нанимаю нового разработчика, поскольку теперь я работал один, теперь мне нужно внести некоторые изменения в разработку и выполнить этап stage — online какие ведущие инструменты (даже если нужно что-то заплатить) для этого? я увидел webenabled.. пока..

Ответ №1:

Вам понадобится своего рода система контроля версий (VCS) для кода вашего проекта. Поскольку Drupal.org теперь используйте Git, который довольно хорош и потрясающ, вам тоже следует. Существует несколько хостинговых решений для Git, наиболее популярным, кажется, является GitHub.

В вашем репозитории кода я рекомендую размещать не весь каталог сайта, а только ваш собственный пользовательский код. Независимо от используемого VCS, вот что я поместил в свой репозиторий кода

  • .make Файл, используемый для загрузки ядра Drupal, модулей contrib и тем contrib и применения исправлений (при необходимости)
  • module папка только с пользовательскими модулями
  • themes папка только с пользовательскими темами
  • Скрипт сборки для
    • запустите drush make файл .make , чтобы загрузить ядро Drupal и внести вклад в dist папку (VCS игнорируется)
    • скопируйте modules папку в dist/sites/all/modules/custom
    • скопируйте themes папку в to dist/sites/all/themes/custom

Это для

  • правильно отслеживайте изменения в пользовательском коде вашего проекта
  • правильно отслеживайте используемые версии ядра и вкладов (в .make файле)
  • предотвращает взлом ядра или вкладов, но разрешает исправление при необходимости (Drush Make требует, чтобы примененные исправления были доступны по общедоступному HTTP-адресу)

Для сценария сборки я использую Phing, Но могут быть использованы любые языки сценариев (ant, bash, php, ruby и т.д.). При некоторой дополнительной работе скрипт сборки также может быть использован для запуска автоматического тестирования (самого простого) и проверки кода ( php -l и проверки верстальщика).). В конце скрипт сборки создает и обновляет dist папку, готовую к развертыванию.

Для проекта с несколькими разработчиками я стараюсь экспортировать как можно больше конфигураций в код вместо того, чтобы работать на уровне базы данных для хранения. В основном за счет использования экспортируемых объектов через модуль Features и наличия специфичного для проекта профиля для определения и обновления неэкспортируемых конфигураций с помощью его hook_install и hook_update_N реализаций. Смотрите Проблему с разработкой -> Промежуточный этап -> Производственный рабочий процесс в Drupal и презентацию Code driven development: эффективное использование функций в Drupal 6 и 7.

Ответ №2:

Для этого есть несколько вариантов, есть модуль развертывания, который является альфа-версией, но, по-видимому, работает хорошо. Затем есть обычный старый svn (или даже rsync ). Это позволяет выполнить работу довольно быстро и дает вам дополнительный бонус в виде управления исходным кодом, но вам нужно переносить базы данных вручную.

Последний, но не менее важный и самый мощный метод из трех упомянутых — drush.

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

Удачи!