⚡ 共通オプション
実行モード指定: -m <モード名>, --mode=<モード名>
実行モードの指定が可能です。全てのコマンドのオプションとして指定できます。
実行モードを指定した場合、対象の設定ディレクトリとコンテナ内の環境変数が変わります。これにより開発用と本番用と分けて管理したりできます。
尚、未指定の場合の実行モードは default となります。
| モード指定コマンド例 | 対象設定ディレクトリ | コンテナ内環境変数 |
|---|---|---|
lamp (コマンド) |
.lampman/ | LAMPMAN_MODE=default |
lamp -m test (コマンド) |
.lampman-test/ | LAMPMAN_MODE=test |
lamp -m product (コマンド) |
.lampman-product/ | LAMPMAN_MODE=product |
lamp -m xxxxxx (コマンド) |
.lampman-xxxxxx/ | LAMPMAN_MODE=xxxxxx |
例えば本番用の設定を新たに作りたい場合、以下のようにすると .lampman-product/ ディレクトリに設定がセットアップされますのでその中で本番用の設定を書いていきます。
例
$ lamp -m product init (.lampman-product/ディレクトリが作成されるのでここに本番設定してく) $ lamp -m product up (本番モードでLAMP立ち上げ)
他の方法で実行モードを指定する
コマンドに -m, --mode を記述しなくても実行モードが指定できる方法が他に2つあります。
1. ホストOS上の環境変数 LAMPMAN_MODE に実行モードの文字列を設定しておく
例えばユーザーディレクトリの .bashrc に以下のように記述して環境変数を設定しておきます。(Linuxなど)
export LAMPMAN_MODE=product
これで lamp up と打てば product モードでLAMPが立ち上がります。
ただしこの指定方法の場合、cron実行などで .bashrc を読み込まないケースもあるので十分ご注意ください。
2. プロジェクトディレクトリに .env ファイルを用意しておく
例えば以下のように記述しておきます。
LAMPMAN_MODE=product
こうしておくことで、 lamp コマンドが .env を自動的に読み込んで環境変数を定義するため、実行モードが指定できます。
こちらの方がおすすめですが、 .env は環境別のパスワードなども記載されることもあるので git のコミット対象にしないようご注意ください。
ホストOS側の環境変数を設定中で使う
ちなみに、ホストOS上の環境変数は設定ファイル中で参照できます。例えば環境変数 LAMPMAN_MODE なら、
.lampman/config.jsの中ではprocess.env.LAMPMAN_MODE.lampman/docker-compose.override.ymlの中では"${LAMPMAN_MODE}"
のように書くことで参照できるので、パスワードや環境による違いなど、設定ファイルをgitコミット対象にしたくない情報は環境変数に逃がすと良いでしょう。