CLI コマンドの使用例
この例では、開発システムで共有、システム固有、および機密性の高い値を設定し、それらの値を実稼動システムにデプロイする方法を示します。
これは、共有設定、config.php ファイル、およびCommerce CLI コマンドを組み合わせて使用することによって実行されます。
この例では、次の設定設定を使用します。
-
共有構成設定の Vat番号 およびストア名。
これらは、ストア / 設定/構成 / 一般/一般の下にあります。
-
機密性の高い設定値のメールをに送信します。
これは、ストア / 設定/構成 / 一般/連絡先の下にあります。
-
システム固有の設定値の既定の電子メール ドメイン。
これは、ストア / 設定/構成 / 顧客/顧客構成 / 新しいアカウントオプションを作成の下にあります。
この例に示す手順と同じ手順を使用して、次の参照内の設定を設定できます。
始める前に
開始する前に、開発、ビルド、および実稼動システムの前提条件で説明されているように、ファイルシステムの権限と所有権を設定します。
前提条件
このトピックでは、実稼動システムの設定を変更する例を示します。 必要に応じて、様々な設定オプションを選択できます。
この例では、次の要素を想定しています。
- Git ソースコントロールを使用します
- 開発システムは、
mconfigという名前のGit リモート リポジトリで利用できます - Git作業ブランチの名前は
m2.2_deployです
手順1:開発システムでの設定
開発システムでデフォルトのロケールとウェイトの単位を設定するには:
-
Adminにログインします。
-
ストア / 設定/構成 / 一般/一般をクリックします。
-
複数のweb サイトを利用できる場合は、左上隅のストアビュー リストを使用して、次の図に示すように別のweb サイトに切り替えます。
-
右側のペインで、ストア情報を展開します。
-
必要に応じて、VAT番号およびストア名 フィールドの横にある「デフォルト」チェックボックスをオフにします。
-
フィールドに数値を入力します(例:
12345)。 -
「ストア名」フィールドに、値(
My Storeなど)を入力します。 -
「設定を保存」をクリックします。
-
左側のナビゲーションの「一般」で、「連絡先」をクリックします。
-
右側のペインで、電子メールオプションを展開します。
-
必要に応じて、「メールをに送信」フィールドの横にある「デフォルトを使用」チェックボックスをオフにします。
-
フィールドに電子メールアドレスを入力します。
-
「設定を保存」をクリックします。
-
次の図に示すように、ストアビュー リストを使用して、デフォルト設定を選択します。
-
左側のペインで、顧客/顧客設定をクリックします。
-
右側のペインで、新しいアカウントオプションを作成を展開します。
-
必要に応じて、「デフォルトの電子メールドメイン」フィールドの横にある「システム値を使用」チェックボックスをオフにします。
-
フィールドにドメイン名を入力します。
-
「設定を保存」をクリックします。
-
プロンプトが表示されたら、キャッシュをフラッシュします。
手順2:設定の更新
管理者で設定を変更したので、次の手順に従って共有設定をファイルに書き込みます。
設定を更新するには:
-
開発システムにファイルシステム所有者としてログインするか、ファイルシステム所有者に切り替えます。
-
アプリケーションのルートに移動し、dump コマンドを実行します。
code language-shell cd <Magento root dir> php bin/magento app:config:dump例えば、
/var/www/html/magento2にCommerceがインストールされている場合は、次のように入力します。code language-shell cd /var/www/html/magento2 php bin/magento app:config:dump -
app/etc/config.phpが更新されたことを確認してください。code language-shell git status回答サンプル:
code language-text On branch m2.2_deploy Changed but not updated: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: app/etc/config.phpnote warning WARNING notは、 generated、pub/mediaまたはpub/staticディレクトリに変更を送信して、ソース管理に送信します。 それらのファイルをビルドシステムで生成します。 開発システムには、本番システムで使用する準備ができていないコードやテーマが含まれている可能性があります。 -
ソース管理に対してのみ
app/etc/config.phpへの変更をチェックインします。code language-shell git add app/etc/config.php && git commit -m "Updated shared configuration" && git push mconfig m2.2_deploy
app/etc/env.php (システム固有の設定)は更新されましたが、ソース管理にチェックインしないでください。
この手順では、後ほど実稼動システムで同じ設定設定を作成します。
手順3:ビルドシステムの更新とファイルの生成
これで、共有設定への変更をソース管理にコミットしたので、これらの変更をビルドシステムに取り込み、コードをコンパイルして静的ファイルを生成できます。
ビルドシステムを更新するには:
-
ビルドシステムにファイルシステム所有者としてログインします。
-
アプリケーションのルートディレクトリに移動します。
code language-shell cd <Magento root dir> -
ソース コントロールから
app/etc/config.phpへの変更をプルします。code language-shell git pull mconfig m2.2_deploy -
コードをコンパイルします。
code language-shell bin/magento setup:di:compile -
コードをコンパイルしたら、静的ビューファイルを生成します。
code language-shell bin/magento setup:static-content:deploy -f -
ソースコントロールの変更を確認します。
code language-shell git add -A && git commit -m "Updated files on build system" && git push mconfig m2.2_deploy
手順4:実稼動システムの更新
このプロセスの最後のステップは、本番システムを更新することです。 次の2つの部分で行う必要があります。
- 機密性の高いシステム固有の設定を更新する
- 共有設定の更新
機密性の高いシステム固有の設定を更新する
環境変数を使用して機密性の高い設定とシステム固有の設定を設定するには、次の点を把握しておく必要があります。
-
各設定の範囲
手順1の指示に従った場合、メールを宛先に送信する範囲はweb サイトで、デフォルトの電子メールドメインの範囲はグローバルです(つまり、デフォルトの設定スコープ)。
メール送信先設定値を設定するには、web サイトのコードが必要です。
この値の検索について詳しくは、環境変数を使用して構成設定を上書きするを参照してください。
-
この例で使用する設定の設定パス:
table 0-row-2 1-row-2 2-row-2 設定名 設定パス メール送信先 contact/email/recipient_emailデフォルトのメールドメイン customer/create_account/email_domainすべての機密性の高い設定パスとシステム固有の設定パスについては、機密性の高い設定パスとシステム固有の設定パスのリファレンス を参照してください。
CLI コマンドを使用した変数の設定
次のCLI コマンドを使用して、システム固有および機密性の高い設定設定を設定します。
- システム固有の設定の
magento config:set - 機密設定の
magento config:sensitive:set
既定の範囲にあるシステム固有の設定 既定の電子メール ドメイン を設定するには、次のコマンドを使用します。
bin/magento config:set customer/create_account/email_domain <email domain>
デフォルトのスコープであるため、コマンドでスコープを使用する必要はありません。
ただし、送信先メールの値を設定するには、スコープの種類(website)とスコープ コードを知る必要があります。これは、各サイトで異なる可能性があります。
例:
bin/magento config:sensitive:set contact/email/recipient_email --scope=website --scope-code=<website code> <email address>
共有設定の更新
この節では、開発環境で行ったすべての変更を実稼動環境に取り込み、共有構成設定(ストア名とVAT番号)を更新する方法について説明します。
実稼動システムを更新するには:
-
本番システムにファイルシステム所有者としてログインします。
-
アプリケーションルートに変更し、メンテナンスモードを有効にします。
code language-shell cd <Magento root dir>code language-shell bin/magento maintenance:enableIP アドレスのホワイトリストを設定する機能など、その他のオプションについては、
magento maintenance:enableを参照してください。 -
cron_runをapp/etc/env.phpのfalseに次のように設定して、実行中のキューワーカーを停止します。code language-php?start_inline=1 'cron_consumers_runner' => [ 'cron_run' => false ] -
設定を更新します。
code language-shell bin/magento app:config:import -
最後に、アクティブなコンシューマープロセスを
kill個まで追加します。code language-shell kill <PID>ここで、
PIDは破棄されるプロセス IDです。例:code language-shell kill 1234 -
ソース管理からコードを取得します。
code language-shell git pull mconfig m2.2_deploy -
設定を更新します。
code language-shell bin/magento app:config:import -
キャッシュをクリーニングします。
code language-shell bin/magento cache:clean -
メンテナンスモードを終了します。
code language-shell bin/magento maintenance:disable
管理者の構成設定の確認
設定設定を確認するには:
-
実稼動システムの管理者にログインします。
-
ストア / 設定/構成 / 一般/一般をクリックします。
-
左上隅のストアビュー リストを使用して、別のweb サイトに切り替えます。
開発システムで設定した共有設定オプションは、次のように表示されます。
note info INFO 「ストア名」フィールドはweb サイト スコープで編集可能ですが、「既定の構成」スコープに切り替えると、編集できません。 これは、開発システムでオプションを設定した結果です。 VAT番号の値は、web サイトの範囲で編集できません。 -
まだ行っていない場合は、デフォルトの設定スコープに切り替えます。
-
左側のナビゲーションの「一般」で、「連絡先」をクリックします。
次の図に示すように、メールをに送信フィールドは編集できません。 これは機密性の高い設定です。
-
左側のペインで、顧客/顧客設定をクリックします。
-
右側のペインで、新しいアカウントオプションを作成を展開します。
「デフォルトの電子メールドメイン」フィールドの値は、次のように表示されます。 これはシステム固有の設定です。