Umi Blog
ウミブログ
Drupal Advent Calendar 2018 14日目の記事です。
今年の冬は暖冬で雪が少なく、スノーボードをするのですがスキー場のオープンが遅れたりで不安な今日この頃です。
早速ですが、 Configuration Split モジュールを利用すると 特定のモジュールや設定を環境毎に切り替えることが可能です。今回は、このモジュールの利用方法を紹介します。
以下の方法にてモジュールをインストール(有効化)してください。
モジュールダウンロード
drush dl -y config_splitcomposer require drupal/config_splitモジュール有効化
/admin/modules より Configuration split にチェックを付与しインストール例としてコアモジュールのUpdate Managerを本番環境は有効、開発環境は無効ということを行ってみたいと思います。
環境設定 -> Configuration Split Setting より Configuration Splitの設定を行います
Add Configuration Split Setting をクリック
設定画面にて以下の設定を行います
update を選択)
設定は以上になります。
設定のエクスポートは drush コマンドを利用します。
drush cex で設定をエクスポートします
正常にエクスポートが終わると config/production (Configuration Splitの設定にて定義したFolder)に
update.settings.yml というファイルが作成されているはずです。
環境毎に有効(設定含む)/無効を切り替え
本番環境ではUpdate Managerを有効、開発環境では無効化したい為、各環境のsettings.phpに以下を追加します。
$config['config_split.config_split.production']['status'] = TRUE;
$config['config_split.config_split.production']['status'] = FALSE;
最後に設定が正しく行えているかインポートを行い確認します。
本番環境の場合
Update Managerが有効化されることを確認する為、予めアンインストールします
drush cim で設定のインポートを行います
以下のようにUpdate Mangerに関する設定をインポートする旨のメッセージが表示されるので yes を入力しインポートします。
~ ❯❯❯ drush cim
+------------+-----------------+-----------+
| Collection | Config | Operation |
+------------+-----------------+-----------+
| | update.settings | Create |
| | core.extension | Update |
+------------+-----------------+-----------+
Import the listed configuration changes? (yes/no) [yes]:
> yes
[notice] 拡張の同期中: install update
[notice] 構成の同期を完了します。
[success] The configuration was imported successfully.
開発環境の場合
Update Managerが無効化されることを確認する為、予めインストールします
drush cim で設定のインポートを行います
以下のようにUpdate Managerに関する設定の削除する旨のメッセージが表示されるので yes を入力しインポートします。
~ ❯❯❯ drush cim
+------------+-----------------+-----------+
| Collection | Config | Operation |
+------------+-----------------+-----------+
| | core.extension | Update |
| | update.settings | Delete |
+------------+-----------------+-----------+
Import the listed configuration changes? (yes/no) [yes]:
>
[notice] 拡張の同期中: uninstall update
[notice] 構成の同期を完了します。
[success] The configuration was imported successfully.
以上のようにConfiguration Splitモジュールを利用すると環境毎にモジュールの有効/無効を切り替えることができ かつ、有効化した場合の設定内容をConfiguration Managerと同様yamlファイルに書き出すことができます。
複数環境でDrupalを運用されておりConfiguration Managerを活用されている方はぜひ使ってみてください!

Masters of Drupal Engineering.
人に、