Я подумал, что это простой пример использования новой системы управления конфигурацией, но мне не повезло узнать, как решить эту проблему:
проблема
Я хочу сохранить конфигурацию в git и использовать drush для экспорта конфигурации во время разработки, а затем при развертывании импортировать конфигурацию. Очень похоже на возвращение функций в Drupal 7. Моя проблема в том, что я не хочу хранить коды доступа в git для различных интеграций. Это приводит к удалению этих конфигураций на
$ drush cim -y
Где я посмотрел
Я надеялся, что будет простой список / конфигурация для конфигов, которые должны быть исключены при импорте / экспорте. Кажется, что в какой-то момент это произошло, но, должно быть, его снова удалили, поскольку он доступен в текущем выпуске Drupal 8.
Я посмотрел, как вносятся изменения в конфигурацию, сравнивая активные и синхронизирующие данные, чтобы увидеть, есть ли место, где я могу удалить изменения, но это не так. Я посмотрел на то, как drush выполняет импорт конфигурации, поскольку он имеет некоторые исключения из своей конфигурации, но это не выглядело как расширяемое. Я посмотрел ConfigEvents
, но все это, похоже, происходит после импорта, поэтому не похоже, что это можно использовать.
Я что-то упустил или просто невозможно исключить конфиги из импорта / экспорта?
источник
Вы можете использовать модуль «Config Ignore»: https://www.drupal.org/project/config_ignore
источник
Вы можете использовать комбинацию config_ignore и config_split .
Игнорирование конфигурации позволяет вам игнорировать подмножество объектов конфигурации во время импорта (также предотвращает удаление, начиная с версии 2.x). К сожалению, это не мешает исключению конфигурации во время экспорта.
Чтобы исключить объекты конфигурации во время экспорта, вы можете использовать config_split, создать новый объект config_split и оставить папку пустой. Это предотвращает экспорт конфигурации в файловую систему; вместо этого он экспортирует его в базу данных.
Я написал об исключении конфигурации из управления конфигурацией в Drupal 8 на эту тему.
источник
Для разделения конфигурации вы можете использовать https://www.drupal.org/project/config_split .
Вы можете разделить экспорт на разные каталоги, которые затем можете игнорировать.
В drupal con dublin 2016 была очень хорошая презентация людей, отвечающих за инициативу CMI, которую я призываю вас проверить, несмотря ни на что.
источник
Я только что проверил @berdir в # 1 ответе, и он отлично работает. Только я добавляю небольшое примечание: вы должны поместить весь конфиг в эту переменную. Без этого $ config var работает неправильно.
Что-то вроде этого:
Документация: https://www.drupal.org/node/1928898
Примечание из приведенной выше документации: «Обратите внимание, что значения, переопределенные через $ config в settings.php, не будут доступны для просмотра из интерфейса администрирования Drupal».
источник
$config['module.settings']['some']['value'] = 'foo';
Я несколько удивляюсь, почему никто не упомянул инструменты Drush CMI . Волшебные слова есть
drush cexy
иconfig-ignore.yml
. У вас будет список, который вы можете настроить. Он был нужен один раз, чтобы исключить экземпляры блоков, в то время как базы блоков были обработаны.Источник: https://www.previousnext.com.au/blog/introduction-drush-cmi-tools
Источник: https://github.com/previousnext/drush_cmi_tools
источник
Использование конфигурации split (рекомендуется)
Модуль расщепления конфига был сделан специально для этого.
Конфиг сплит интегрирован с Drush.
Использование только Drush
Drush также должен быть в состоянии сделать это, используя
--skip-modules
флаг.Вы можете добавить следующие строки в drupal / drushrc.php в webroot вашего проекта, чтобы сделать это автоматически.
См. Http://www.drush.org/en/master/config-exporting/#ignoring-development-modules.
К сожалению, есть ошибка с этой функциональностью: https://github.com/drush-ops/drush/issues/1820 . Поэтому на данный момент вам также необходимо добавить эти файлы конфигурации в ваш .gitignore, чтобы экспортированные файлы конфигурации не были зафиксированы. Их работа продолжается, чтобы, возможно, отказаться от этой (ошибочной) функциональности от drush в пользу разделения конфигурации.
источник