Рейтинг:0

Если сайты/файлы по умолчанию/не входят в репозиторий git, какой контент будет использоваться в разработке?

флаг cn

Я использую установку Drupal, управляемую композитором, и хочу использовать git для ее перемещения между средами разработки и производства. Насколько я понимаю, единственный каталог, который не должен быть в репозитории git, — это сайты/по умолчанию/файлы. Все остальное вкл. модули, темы, файлы композитора и т. д. будут в репозитории. Composer будет работать только в локальной среде разработки, но не в рабочей среде.

Чего я не понимаю, так это того, какой контент будет использоваться в разработке, если папка с файлами не содержит файлы из производства? Это просто тестовый контент, например, созданный devel generate? А что происходит, когда к команде присоединяется новый разработчик? Будет ли он(а) получать дамп базы данных из другой системы разработки, чтобы настроить свою среду, потому что дамп базы данных из производства будет включать ссылки на контент, которого нет из-за отсутствующего каталога файлов!?

Надеюсь, вы поможете мне убедиться, что я думаю в неправильном направлении.

leymannx avatar
флаг ne
Репозиторий в основном состоит только из пользовательских модулей, пользовательских тем и composer.json/~lock. Core, contrib и библиотеки управляются Composer. Да, вы должны предоставить способ, с помощью которого каждый разработчик может в любое время синхронизировать рабочую или динамическую базу данных со своим локальным сайтом. Это можно сделать с помощью Drush и сайта YAML. Затем это `drush -y sql-sync @stage @self`. То же самое относится к файлам `drush -y rsync @stage:%files @self:%files` или используйте модуль Stage File Proxy. Каждый разработчик всегда запускает `composer install` и `drush deploy` в своем локальном после извлечения изменений.
leymannx avatar
флаг ne
И вам нужно найти способ либо загрузить сборку `composer install` в Live с помощью CI, либо вызвать `composer install` непосредственно в Live после перевода сайта в режим обслуживания, возможно, из скрипта.
Extect avatar
флаг cn
Большое спасибо! Будет ли это по-прежнему рекомендуемым способом при развертывании на рабочем сайте на виртуальном хостинге? (боясь ограничения памяти при вызове установки композитора, а CI недоступен в проекте), поэтому я подумал о включении в репозиторий даже модулей contrib.
флаг cn
Подход CI имеет множество преимуществ, но нет ничего плохого в том, чтобы хранить папки поставщиков в репозитории (в Drupal это включает в себя ядро, модули contrib, темы contrib и т. д.). Виртуальный хостинг — классический пример, когда этот паттерн очень распространен даже в наши дни именно для тех проблем с памятью, которые вы упомянули.
Extect avatar
флаг cn
@Clive: Спасибо за разъяснение. Очень полезно!

Ответить или комментировать

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