設定
Rudelには2種類の設定があります。rudel_configWordPressオプションに保存される設定と、wp-config.phpで定義する定数です。
rudel_configオプション
設定はwp_optionsのrudel_configにある1つの配列に保存されます。オプションに値が書き込まれるまでは、すべてのキーで既定値が使われます。不明なキーは無視され、値は整数として保存されます。
| キー | 既定値 | 説明 |
|---|---|---|
max_sandboxes |
0 |
サンドボックス数がこの数に達すると、新しいサンドボックスの作成を拒否します。0は上限なしを意味します。 |
max_disk_mb |
0 |
サンドボックスディレクトリの容量がこのメガバイト数に達すると、新しいサンドボックスの作成を拒否します。複製されたテーブルは含まれません。0は上限なしを意味します。 |
default_ttl_days |
0 |
ttl_daysまたはexpires_atを指定せずに作成した新しいサンドボックスの有効期限です。0は有効期限なしを意味します。 |
max_age_days |
0 |
クリーンアップで、この期間より古いサンドボックスを削除します。0は経過期間のルールを無効にします。 |
max_idle_days |
0 |
クリーンアップで、記録されたアクティビティ(サンドボックスへのリクエストまたはスナップショット)がこの期間ないサンドボックスを削除します。0はアイドル状態のルールを無効にします。 |
auto_cleanup_enabled |
1 |
WP-Cronで毎時、クリーンアップポリシーを実行します。 |
auto_cleanup_merged |
0 |
WP-Cronによるマージ済みブランチのクリーンアップも実行します。 |
expiring_environment_notice_days |
0 |
自動化の実行ごとに、指定日数以内に期限切れとなるサンドボックスを収集し、rudel_after_automation_expiring_environmentsアクションに渡します。 |
auto_snapshot_before_restore |
1 |
復元の前に毎回pre-restore-...スナップショットを保存します。 |
wp rudel statusは現在の値を表示します。
WP-CLIでオプションを書き込みます。省略したキーには既定値が使われます。
シェル
wp option update rudel_config '{"max_age_days":14,"max_idle_days":3,"auto_cleanup_merged":1}' --format=json
またはPHPから:
PHP
$config = new Rudel\RudelConfig();
$config->set( 'max_sandboxes', 20 );
$config->save();
変更後の次のリクエストで、WP-Cronイベントが登録または削除されます。自動化を参照してください。
定数
Rudelのブートストラップ行より前にあるwp-config.phpで、これらを定義します。
| 定数 | 既定値 | 説明 |
|---|---|---|
RUDEL_CLI_COMMAND |
rudel |
ルートWP-CLIコマンド名。 |
RUDEL_ENVIRONMENTS_DIR |
wp-content/rudel-environments |
サンドボックスディレクトリを格納するディレクトリ。テーマのアセットは常に/wp-content/rudel-environments/{id}/themesから配信されるため、別のディレクトリを使う場合も同じURLからアクセスできる必要があります。 |
RUDEL_RUNTIME_TABLE_PREFIX |
rudel_ |
WordPressプレフィックスの後に続くRudelテーブル名の一部。ランタイム状態を参照してください。 |
RUDEL_RUNTIME_TABLE_ENVIRONMENTS |
WordPressプレフィックスの後に続く、環境テーブルの完全な名前の上書き値。 | |
RUDEL_RUNTIME_TABLE_WORKTREES |
WordPressプレフィックスの後に続く、worktreesテーブルの完全な名前の上書き値。 | |
RUDEL_DB_DRIVER |
auto |
スタンドアロンRudel\Connectionアクセス用のドライバー:auto、mysqli、pdoのいずれか。WordPressリクエストでは常に$wpdbを使います。 |
RUDEL_GIT_AUTHOR_NAME |
Rudel |
チェックアウトにuser.nameがない場合、RudelがGit設定に書き込む作成者名。wp rudel pushコミットに使われます。 |
RUDEL_GIT_AUTHOR_EMAIL |
rudel@localhost |
チェックアウトにuser.emailがない場合、Rudelが書き込む作成者メールアドレス。 |
サンドボックスへのリクエスト内の定数
リクエストでサンドボックスが選択されると、ブートストラップによってコードから読み取れる定数が定義されます。特に有用なものは次のとおりです。
| 定数 | 値 |
|---|---|
RUDEL_ID |
サンドボックスID |
RUDEL_PATH |
サンドボックスディレクトリ |
RUDEL_TABLE_PREFIX |
サンドボックスのテーブルプレフィックス |
RUDEL_THEME_SLUG |
サンドボックスから配信されるテーマ |
RUDEL_HOST_URL、RUDEL_ENVIRONMENT_URL |
ホストとサンドボックスのURL |
RUDEL_DISABLE_EMAIL |
true。送信メールはブロックされます |
定数を直接読むより、Rudel::id()などのAPIメソッドを使ってください。
ブートストラップはWP_DEBUG、WP_DEBUG_LOG、WP_DEBUG_DISPLAY、WP_TEMP_DIR、WP_CACHE_KEY_SALTと8つの認証キーおよびソルトも定義します。ただし、wp-config.phpがまだ定義していないものに限ります。エラーログと分離を参照してください。