9.9.2. Config Split、Config Ignore。異なるインスタンス用にさまざまな構成を作成する。
3rd party サービスへのアクセスは、dev と live のインスタンスで異なる必要があることが非常によくあります。構成を使ってこれを行うには、Configuration Split モジュールを使う必要があります:
https://www.drupal.org/project/config_split
Config Split モジュールを有効にすると、インスタンス用のフォルダーを指定できます。Configuration モジュールの Configuration Split 設定ページに移動しましょう:
/admin/config/development/configuration/config-split

それでは、local、dev、live インスタンス用の split 設定を追加しましょう。

すべてのインスタンスでパスが同じ場合は、フォルダーへのパスをすぐに指定できます。また、Active チェックボックスを無効にする必要があります。必要な構成は、各インスタンスで個別に settings.php を通じて有効にします。

Config Split 設定を追加したら、config/local、config/dev、config/live フォルダーを作成する必要があります:

それでは、ローカルインスタンスで 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

これで、Configuration Synchronization ページに移動すると、上書きされた構成が表示されます:

これで、SMTP、Salesforce、決済システム、その他のサービス用に、異なるインスタンスで異なるアクセスを定義できます。
Config Ignore
おそらく、SMTP のアクセス情報が構成にあり Git に追加されるのは好ましくないでしょう。その場合は、Configuration Ignore モジュールを使って SMTP 設定を config ignore に追加できます:
https://www.drupal.org/project/config_ignore
サイト名に異なる設定を行うために Config Split モジュールを使いました。system.site 構成も ignore に追加できます。Config Ignore 設定ページに移動しましょう:
/admin/config/development/configuration/ignore
そして、この system.site 構成を ignore に追加しましょう:

これで、Configuration Synchronization ページに移動すると、更新された構成と無視された構成が別のセクションに表示されます:
