Очень часто доступы к 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
Теперь добавим split settings для local, dev, live инстансов.
Путь к папке можно указать сразу, если путь одинаковый на всех инстансах. Также нужно будет отключить Active галочку, мы будем включать нужную нам конфигурацию через settings.php в каждом из инстансов отдельно.
После того как мы добавили Config Split settings, нужно создать папки config/local, config/dev, config/live:
Теперь давайте включим local настройки на нашем локальном инстансе:
<?php$config['config_split.config_split.local']['status'] = TRUE;?>
Соответственно для dev и live инстансов нужно будет добавить в settings.php следующие строчки:
<?php// Dev
$config['config_split.config_split.dev']['status'] = TRUE;
// Live
$config['config_split.config_split.live']['status'] = TRUE;
?>
Теперь чтобы переопределить какие-то из конфигов для определенного инстанса, нужно просто скинуть нужный конфиг в нужную папку и для этого инстанса будет определен нужный отдельный конфиг. Давайте переименнуем имя сайта отдельно для локального сайта:
/config/local/system.site.yml:
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
Теперь если вы зайдете на страницу Configuration Synchronization, вы увидете переопределенный конфиг:
Теперь вы можете определять разные доступы на разных инстансах для 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:
Теперь если вы зайдете на страницу Configuration Synchronization, то обновленные и заигнорированные конфиги будут показаны в отдельном разделе:
Атрибуция
Абраменко Иван