CLI コマンドの使用例

この例では、開発システムで共有、システム固有、および機密性の高い値を設定し、それらの値を実稼動システムにデプロイする方法を示します。
これは、共有設定、config.php ファイル、およびCommerce CLI コマンドを組み合わせて使用することによって実行されます。

この例では、次の設定設定を使用します。

  • 共有構成設定の​ Vat番号 ​および​ストア名

    これらは、ストア / 設定/構成 / 一般/一般​の下にあります。

  • 機密性の高い設定値のメールを​に送信します。

    これは、ストア / 設定/構成 / 一般/連絡先​の下にあります。

  • システム固有の設定値の​既定の電子メール ドメイン

    これは、ストア / 設定/構成 / 顧客/顧客構成 / 新しいアカウントオプションを作成​の下にあります。

この例に示す手順と同じ手順を使用して、次の参照内の設定を設定できます。

始める前に

開始する前に、開発、ビルド、および実稼動システムの前提条件で説明されているように、ファイルシステムの権限と所有権を設定します。

前提条件

このトピックでは、実稼動システムの設定を変更する例を示します。 必要に応じて、様々な設定オプションを選択できます。

この例では、次の要素を想定しています。

  • Git ソースコントロールを使用します
  • 開発システムは、mconfigという名前のGit リモート リポジトリで利用できます
  • Git作業ブランチの名前はm2.2_deployです

手順1:開発システムでの設定

開発システムでデフォルトのロケールとウェイトの単位を設定するには:

  1. Adminにログインします。

  2. ストア / 設定/構成 / 一般/一般​をクリックします。

  3. 複数のweb サイトを利用できる場合は、左上隅の​ストアビュー リストを使用して、次の図に示すように別のweb サイトに切り替えます。

    Web サイトを切り替え

  4. 右側のペインで、ストア情報​を展開します。

  5. 必要に応じて、VAT番号​および​ストア名 フィールドの横にある「デフォルト」チェックボックスをオフにします。

  6. フィールドに数値を入力します(例:12345)。

  7. ストア名」フィールドに、値(My Storeなど)を入力します。

  8. 設定を保存」をクリックします。

  9. 左側のナビゲーションの「一般」で、「連絡先」をクリックします。

  10. 右側のペインで、電子メールオプション​を展開します。

  11. 必要に応じて、「メールを​に送信」フィールドの横にある「デフォルトを使用」チェックボックスをオフにします。

  12. フィールドに電子メールアドレスを入力します。

  13. 設定を保存」をクリックします。

  14. 次の図に示すように、ストアビュー リストを使用して、デフォルト設定​を選択します。

    既定の設定に切り替える

  15. 左側のペインで、顧客/顧客設定​をクリックします。

  16. 右側のペインで、新しいアカウントオプションを作成​を展開します。

  17. 必要に応じて、「デフォルトの電子メールドメイン」フィールドの横にある「システム値を使用」チェックボックスをオフにします。

  18. フィールドにドメイン名を入力します。

  19. 設定を保存」をクリックします。

  20. プロンプトが表示されたら、キャッシュをフラッシュします。

手順2:設定の更新

管理者で設定を変更したので、次の手順に従って共有設定をファイルに書き込みます。

設定を更新するには:

  1. 開発システムにファイルシステム所有者としてログインするか、ファイルシステム所有者に切り替えます。

  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
    
  3. 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.php
    
    note warning
    WARNING
    not​は、generatedpub/mediaまたはpub/static ディレクトリに変更を送信して、ソース管理に送信します。 それらのファイルをビルドシステムで生成します。 開発システムには、本番システムで使用する準備ができていないコードやテーマが含まれている可能性があります。
  4. ソース管理に対してのみ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:ビルドシステムの更新とファイルの生成

これで、共有設定への変更をソース管理にコミットしたので、これらの変更をビルドシステムに取り込み、コードをコンパイルして静的ファイルを生成できます。

ビルドシステムを更新するには:

  1. ビルドシステムにファイルシステム所有者としてログインします。

  2. アプリケーションのルートディレクトリに移動します。

    code language-shell
    cd <Magento root dir>
    
  3. ソース コントロールからapp/etc/config.phpへの変更をプルします。

    code language-shell
    git pull mconfig m2.2_deploy
    
  4. コードをコンパイルします。

    code language-shell
    bin/magento setup:di:compile
    
  5. コードをコンパイルしたら、静的ビューファイルを生成します。

    code language-shell
    bin/magento setup:static-content:deploy -f
    
  6. ソースコントロールの変更を確認します。

    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番号)を更新する方法について説明します。

実稼動システムを更新するには:

  1. 本番システムにファイルシステム所有者としてログインします。

  2. アプリケーションルートに変更し、メンテナンスモードを有効にします。

    code language-shell
    cd <Magento root dir>
    
    code language-shell
    bin/magento maintenance:enable
    

    IP アドレスのホワイトリストを設定する機能など、その他のオプションについては、magento maintenance:enableを参照してください。

  3. cron_runapp/etc/env.phpfalseに次のように設定して、実行中のキューワーカーを停止します。

    code language-php?start_inline=1
    'cron_consumers_runner' => [
            'cron_run' => false
        ]
    
  4. 設定を更新します。

    code language-shell
    bin/magento app:config:import
    
  5. 最後に、アクティブなコンシューマープロセスをkill個まで追加します。

    code language-shell
    kill <PID>
    

    ここで、PIDは破棄されるプロセス IDです。例:

    code language-shell
    kill 1234
    
  6. ソース管理からコードを取得します。

    code language-shell
    git pull mconfig m2.2_deploy
    
  7. 設定を更新します。

    code language-shell
    bin/magento app:config:import
    
  8. キャッシュをクリーニングします。

    code language-shell
    bin/magento cache:clean
    
  9. メンテナンスモードを終了します。

    code language-shell
    bin/magento maintenance:disable
    

管理者の構成設定の確認

設定設定を確認するには:

  1. 実稼動システムの管理者にログインします。

  2. ストア / 設定/構成 / 一般/一般​をクリックします。

  3. 左上隅の​ストアビュー リストを使用して、別のweb サイトに切り替えます。

    開発システムで設定した共有設定オプションは、次のように表示されます。

    実稼動システムの設定を確認する

    note info
    INFO
    ストア名」フィールドはweb サイト スコープで編集可能ですが、「既定の構成」スコープに切り替えると、編集できません。 これは、開発システムでオプションを設定した結果です。 VAT番号​の値は、web サイトの範囲で編集できません。
  4. まだ行っていない場合は、デフォルトの設定スコープに切り替えます。

  5. 左側のナビゲーションの「一般」で、「連絡先」をクリックします。

    次の図に示すように、メールを​に送信フィールドは編集できません。 これは機密性の高い設定です。

    実稼動システムの設定を確認する

  6. 左側のペインで、顧客/顧客設定​をクリックします。

  7. 右側のペインで、新しいアカウントオプションを作成​を展開します。

    デフォルトの電子メールドメイン」フィールドの値は、次のように表示されます。 これはシステム固有の設定です。

    実稼動システムの設定を確認する

recommendation-more-help
commerce-operations-help-configuration