共有設定の使用例
- トピック:
- 設定
作成対象:
- 経験者
- 管理者
- 開発者
この例では、開発システムで次の設定を変更し、ビルド・システムで共有構成ファイル config.php
を更新し、本番システムに同じ設定を実装する方法を示します:
- タイムゾーン
- 重み単位
これらの設定は、管理者の ストア/設定/設定/一般/一般 で利用できます。
次のリファレンスでは、同じ手順を使用して、システム固有の設定ではなく、大文字と小文字を区別しない設定を行うことができます。
始める前に
開始する前に、 開発、ビルド、および実稼動システムの前提条件で説明されているように、ファイルシステムの権限と所有権を設定します。
前提
このトピックでは、実稼動システム設定を変更する例を示します。 必要に応じて、別の設定オプションを選択できます。
この例では、以下を想定しています。
- Git ソース管理を使用します
- 開発システムは、
mconfig
という名前の Git リモートリポジトリーで使用できます - Git 作業ブランチの名前は
m2.2_deploy
です。
手順 1:開発システムでの設定
開発システムのタイムゾーンと重み付けの単位を設定するには:
-
管理者にログインします。
-
ストア/設定/設定/一般/一般 をクリックします。
-
右側のウィンドウで「ロケールオプション」を展開します。
次の図に例を示します。
-
タイムゾーン リストで、「GMT+00:00 (UTC)」をクリックします。
-
重み付け単位 フィールドの横にある システム値を使用 チェックボックスをオフにします。
-
重み付け単位 リストから、kgs をクリックします。
-
「設定を保存」をクリックします。
-
プロンプトが表示されたら、キャッシュをフラッシュします。
手順 2:共有設定を更新する
開発システムで共有設定ファイル app/etc/config.php
を生成し、この節で説明するように、ソース管理を使用してビルドシステムに転送します。
設定を更新するには:
-
ファイルシステムの所有者として開発システムにログインするか、所有者に切り替えます。
-
アプリケーションルートに移動し、dump コマンドを実行します。
cd <Magento root dir> php bin/magento app:config:dump
例えば、Commerceが
/var/www/html/magento2
にインストールされている場合は、次のように入力します。cd /var/www/html/magento2 php bin/magento app:config:dump
-
app/etc/config.php
が更新されたことを確認します。git status
応答の例:
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
WARNING
変更をソース管理に対してgenerated
、pub/media
、またはpub/static
ディレクトリに送信 ない でください。 これらのファイルは、ビルドシステム上で生成します。 開発システムに、実稼動システムで使用する準備ができていないコードやテーマなどが含まれている可能性があります。 -
変更内容を「
app/etc/config.php
only to source control」にチェックインします。git add app/etc/config.php && git commit -m "Updated shared configuration" && git push mconfig m2.2_deploy
手順 3:ビルドシステムを更新しファイルを生成する
共有設定の変更をソース管理にコミットしたので、ビルドシステムでそれらの変更を取り込み、コードをコンパイルし、静的ファイルを生成できます。 最後の手順は、これらの変更を実稼動システムに取り込むことです。 その結果、実稼動システムの設定は、開発システムと一致します。
ビルドシステムを更新するには:
-
ファイルシステムの所有者としてビルドシステムにログインします。
-
アプリケーションのルートディレクトリに移動します。
cd <Magento root dir>
-
ソース管理から変更
app/etc/config.php
取り込みます。git pull mconfig m2.2_deploy
-
コードをコンパイルします。
bin/magento setup:di:compile
-
コードがコンパイルされたら、静的ビューファイルを生成します。
bin/magento setup:static-content:deploy -f
-
ソース管理に対する変更を確認します。
git add -A && git commit -m "Updated files on build system" && git push mconfig m2.2_deploy
手順 4:実稼動システムを更新する
このプロセスの最後の手順は、ソース管理から実稼動システムを更新することです。 これにより、開発システムおよびビルドシステムに対して行われたすべての変更が取り込まれます。つまり、実稼動システムは完全に最新の状態になります。
実稼動システムを更新するには:
-
ファイルシステムの所有者として、実稼動システムにログインします。
-
アプリケーションルートに変更し、メンテナンスモードを有効にします。
cd <Magento root dir>
bin/magento maintenance:enable
IP アドレスの許可リストを設定する機能など、その他のオプションについては、
magento maintenance:enable
を参照してください。 -
app/etc/env.php
でcron_run
をfalse
に設定して、実行中のキューワーカーをすべて停止します。'cron_consumers_runner' => [ 'cron_run' => false ]
-
設定を更新します。
bin/magento app:config:import
-
最後に、アクティブなコンシューマープロセスを
kill
きます。kill <PID>
PID
は、強制終了されるプロセス ID です(例:)。kill 1234
-
ソース管理からコードを取り込みます。
git pull mconfig m2.2_deploy
-
設定を更新します。
bin/magento app:config:import
-
キャッシュをクリーンアップします。
bin/magento cache:clean
-
メンテナンスモードを終了します。
bin/magento maintenance:disable
管理者で変更を確認します。
これらの設定が管理者で編集できないことを確認するには:
-
管理者にログインします。
-
ストア/設定/設定/一般/一般 をクリックします。
-
右側のウィンドウで「ロケールオプション」を展開します。
設定したオプションは次のように表示されます。
magento config:set --lock
コマンドを使用します。