12.9.2. Config Split, Config Ignore делаем различные конфиги для разных инстансов.

Очень часто доступы к 3rd party сервисам должны быть различными на dev и live инстансами. Для того чтобы это сделать с помощью конфигов, нужно использовать модуль Configuration Split:

https://www.drupal.org/project/config_split

После того как вы включите модуль Config Split, у вас появится возможность указать папки для инстансов. Давайте зайдем на страницу настроек модуля Configuration - Configuration Split settings:

/admin/config/development/configuration/config-split

Drupal 8 configuration split

Теперь добавим split settings для local, dev, live инстансов. 

Drupal 8 config split

Путь к папке можно указать сразу, если путь одинаковый на всех инстансах. Также нужно будет отключить Active галочку, мы будем включать нужную нам конфигурацию через settings.php в каждом из инстансов отдельно.

Drupal 8 config split

После того как мы добавили Config Split settings, нужно создать папки config/local, config/dev, config/live:

Drupal 8 config split

Теперь давайте включим local настройки на нашем локальном инстансе:

$config['config_split.config_split.local']['status'] = TRUE;

Соответственно для dev и live инстансов нужно будет добавить в settings.php следующие строчки:

// Dev
$config['config_split.config_split.dev']['status'] = TRUE;

// Live
$config['config_split.config_split.live']['status'] = TRUE;

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

/config/local/system.site.yml:

uuid: e6754486-60a0-48ad-b2d1-84a9b46926f4
name: 'DrupalBook Lessons - Local Site'
mail: levmyshkin89@gmail.com
slogan: ''
page:
  403: ''
  404: ''
  front: /node
admin_compact_mode: false
weight_select_max: 100
langcode: en
default_langcode: en
_core:
  default_config_hash: yXadRE77Va-G6dxhd2kPYapAvbnSvTF6hO4oXiOEynI

Drupal 8 config split

Теперь если вы зайдете на страницу Configuration Synchronization, вы увидете переопределенный конфиг:

Drupal 8 config split

Теперь вы можете определять разные доступы на разных инстансах для SMTP, Salesforce, систем оплаты и прочих сервисов.

Config Ignore

Возможно вам не нравится, что ваши доступы к SMTP лежат в конфигах и добавлены в Git. Тогда вы можете добавить настройки SMTP в config ignore с помощью модуля Configuration Ignore:

https://www.drupal.org/project/config_ignore

Мы использовали Config Split модуль, чтобы сделать разные настройки для названия сайта. Мы также можем добавить в игнор конфиг для system.site. Давайте зайдем на страницу настроек Config Ignore:

/admin/config/development/configuration/ignore

И добавим в ignore этот конфиг system.site:

Drupal 8 config ignore

Теперь если вы зайдете на страницу Configuration Synchronization, то обновленные и заигнорированные конфиги будут показаны в отдельном разделе:

Drupal 8 config ignore

Добавить комментарий

Войти, используя Loginza Google Account Yandex Mail.ru Vkontakte Facebook

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.