Stage File Proxy

概要

Config設定を開発、本番、etcで分けておくためのツール。

開発環境だけで使うモジュール(たとえばStage File Proxy)や、
本番だけで有効な設定(メールサーバ設定やGTMなど)を環境ごとに管理できる。

AEMなどはサーバのRun Modeで切り分けできたりするが、Drupalはそんなことない。

 

できること

環境ごとにConfig の yml ファイルを分けて管理ができる。

通常、DrupalのConfigはまとめて指定したフォルダにymlで書き出される。
その中から、個別管理が必要なものをピックアップして別管理できる。

※ 環境ごとにすべて切り分けされるわけではなく、あくまで個別にピックアップした設定だけを分けて管理ができる。

これにより、モジュールの個別ON/OFFや、設定値の変更ができる。

 

設定方法

1)モジュールのインストール

ほかと変わらず、composer installで入れる。管理画面インストールする。

2)Configの出力先フォルダを切る

../config/sync などに通常設定を出力していると思うが、個別管理したい環境のフォルダを作成しておく。

この際、../config/syncと入れ子にはできないので、兄弟などの場所にする。

例: ../config/sync-devenv

3)個別環境用の設定を記述する

管理画面側のページ(Configuration Split setting )を開いて、
"Add Configuration Split setting" から個別環境用の設定を作っていく。

今回は、開発環境だけで使うStage File Proxyモジュールを設定したい。

ラベル: Development(MachineName: development)
Folder: ../config/sync-devenv
Complete Split > モジュール: Stage File Proxy にチェック

 

4)環境ごとの設定

Developmentの設定を作成したが、サーバそのものは自分がDevelopmentなのかわかっていない。そのため、環境ごとの settings.php に作った設定のON/OFFを記述する。

わたしの場合は、settings.development.php の形で環境ごとのsettings.phpを用意している。

そこに、次の設定を記述する

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

この場合、Machine Name が development のConfigSplit設定が有効になる。

逆に、本番環境ではこの設定をFALSEにすれば読み込まれない。

 

使い方

通常のConfigインポート/エクスポートと変わらない。

// 設定のエクスポート
$ drush cex

// 設定のインポート
$ drush cim

管理画面側からでもよい。

 

所感

便利。