Adobe Commerce B2B 拡張機能のインストール
Adobe Commerce B2B 拡張機能は、サポートされてい magento/extension-b2bAdobe Commerceのすべてのバージョンで使用できます。 Adobe Commerceのインストール後にインストールされます。
要件
- Adobe Commerce、サポートされているすべてのバージョン
- PHP 8.1、8.2、8.3 (B2B 1.5.0 が必要)
- Composer
サポートされるプラットフォーム
- クラウドインフラストラクチャー上のAdobe Commerce(ECE)
- Adobe Commerce オンプレミス(EE)
インストール手順
前提条件
-
repo.magento.com にアクセスして、拡張機能をダウンロードします。 キーの生成と必要な権限の取得については、 認証キーの取得 を参照してください。
COMPOSER_HOME ディレクトリでグローバルに定義することにより、インストール用に認証キーを保存します。 または、Adobe Commerce アプリケーションのルートディレクトリにある auth.json ファイルに保存します。
-
B2B 拡張機能のサポート対象バージョン - デプロイ済みのAdobe Commerce バージョンでサポートされている B2B 拡張機能の最新バージョンを特定します。
-
インストールまたはアップグレードの要件に影響を与える可能性のある、バージョンの互換性、アップデート、変更に関する最新の情報については、リリースノートを参照してください。
Composer を使用して B2B 拡張機能(magento/b2b-extension)をインストールします。 拡張機能は、Adobe Commerce インスタンスの B2B 機能を有効にするモジュールのコレクションを含む composer メタパッケージです。 含まれているモジュールのリストについては、B2B パッケージ を参照してください。
| note tip |
|---|
| TIP |
| Adobeでは、クラウドインフラストラクチャにAdobe Commerce B2B をインストールする場合、開始前にAdobe Commerce アプリケーションを統合環境またはステージング環境にデプロイすることをお勧めします。 |
Adobeでは、B2B 拡張機能をプロジェクトに追加する際に、開発ブランチで作業することをお勧めします。 ブランチがない場合は、 開発用のブランチの作成 を参照してください。 B2B 拡張機能をインストールする場合、Magento_B2b 拡張機能名が app/etc/config.php ファイルに自動的に挿入されます。 ファイルを直接編集する必要はありません。
B2B 拡張機能をインストールするには:
-
ローカルワークステーションで、をプロジェクトディレクトリに変更します。
-
開発ブランチを作成またはチェックアウトします。
-
composer.jsonファイルのrequireセクションに B2B 拡張機能を追加します。code language-bash composer require magento/extension-b2b --no-update -
プロジェクトの依存関係を更新します。
code language-bash composer update -
コードの変更を追加、コミットおよびプッシュします。
code language-bash git add -Acode language-bash git commit -m "Install the B2B extension."code language-bash git push origin <branch-name>note note NOTE 更新をクラウド環境にプッシュすると、Commerce クラウドのデプロイメントプロセスが開始されて、変更が適用されます。 デプロイメントログ からデプロイメントステータスを確認します。 デプロイメントエラーが発生した場合は、 コンポーネントの障害からの回復 を参照してください。 -
ビルドおよびデプロイが完了したら、SSH を使用してリモート環境にログインし、B2B 拡張機能がインストールされ、有効になっていることを確認します。
code language-bash bin/magento module:status Magento_B2b拡張機能名には、
<VendorName>_<ComponentName>の形式を使用します。応答の例:
code language-none Magento_B2b : Module is enabled
-
Adobe Commerce アプリケーションのルートディレクトリから、
composer.jsonを更新して B2B 拡張機能の依存関係を追加します。code language-bash composer require magento/extension-b2b:<version>エラーが発生した場合、例えば次のようになります。
code language-none [InvalidArgumentException] Could not find a matching version of package magento/extension-b2b.パッケージのスペル、バージョンの制約、パッケージが使用可能で、最小安定性(安定)の要件に一致していることを確認します。
-
プロンプトが表示されたら、 認証キー を入力します。
公開鍵 はユーザー名で、秘密鍵 はパスワードです。 公開鍵と秘密鍵を
auth.jsonに保存している場合は、認証を求められません。 -
Composer がモジュールの更新を完了した後で、次のコマンドを実行します。
code language-bash bin/magento setup:upgradecode language-bash bin/magento setup:di:compilecode language-bash bin/magento setup:static-content:deploy -fcode language-bash bin/magento cache:cleannote note NOTE 実稼動モードでは、 Please rerun Magento compile commandへのメッセージが表示される場合があります。 コマンドを入力して、インストールを完了します。 Adobe Commerceでは、開発者モードでコンパイルコマンドを実行するように求められることはありません。
インストールが完了したら、メッセージコンシューマーを設定して起動します。
メッセージコンシューマー
Adobe Commerce B2B 拡張機能は、メッセージキューの管理に MySQL を使用します。 次の表に、B2B 機能をサポートするメッセージコンシューマーを示します。 拡張機能をインストールしたら、Commerce ストアフロントに必要な B2B 機能について、メッセージコンシューマーを開始します。
sharedCatalogUpdatePricesharedCatalogUpdateCategoryPermissionsnegotiableQuotePriceUpdatepurchaseorder.toorderpurchaseorder.transactional.emailpurchaseorder.validationquoteItemCleanerinventoryQtyCounterメッセージコンシューマーの設定
B2B 機能について メッセージコンシューマーを開始 する際に、次のパラメーターを追加して、処理の問題や遅延の可能性を防ぎます。
-
--max-messages <value>– 各消費者が終了するまでに処理する必要があるメッセージの最大数を指定します(デフォルトは 10000)。 Adobeでは推奨しませんが、0 を使用して、コンシューマーが終了しないようにできます。 PHP アプリケーションのベストプラクティスは、長時間実行されているプロセスを再起動して、メモリリークの可能性を防ぐことです。 -
--batch-size <value>- コンシューマーが使用するシステムリソースを制限できます(CPU、メモリ)。 より小さなバッチを使用すると、リソースの使用量が減少します。その結果、処理が遅くなります。 指定した場合、キュー内のメッセージが各<value>のバッチで消費されます。 このオプションは、バッチコンシューマーにのみ適用できます。--batch-sizeが定義されていない場合、バッチコンシューマーはキュー内の使用可能なすべてのメッセージを受け取ります。
その他の設定オプションについて詳しくは、 特定の設定 を参照してください。
メッセージコンシューマーの開始
B2B 機能の非同期操作を有効にするには、複数のメッセージコンシューマーを開始する必要があります。
-
使用可能なメッセージコンシューマーのリストを表示します。
code language-bash bin/magento queue:consumers:listこのコマンドは、すべての B2B メッセージコンシューマー を含む、使用可能なメッセージコンシューマーを返します。
-
各消費者を個別に起動します。
code language-bash bin/magento queue:consumers:start [--max-messages=<value>] [--batch-size=<value>] <consumer_name>例:
code language-bash bin/magento queue:consumers:start quoteItemCleaner
& を追加し、プロンプトに戻ってコマンドを実行し続けます。 例:bin/magento queue:consumers:start sharedCatalogUpdatePrice &。詳しくは、『 設定ガイド の メッセージキューの管理 を参照してください。
Cron へのメッセージコンシューマーの追加
cron 設定ファイル /app/code/Magento/MessageQueue/etc/crontab.xml にスケジュールを追加することで、SharedCatalogUpdateCategoryPermissions および SharedCatalogUpdatePrice メッセージコンシューマーの実行スケジュールを自動化できます。
* * * * * ps ax | grep [s]haredCatalogUpdateCategoryPermissions >>/dev/null 2>&1 || nohup php /var/www/html/magento2/bin/magento queue:consumers:start sharedCatalogUpdateCategoryPermissions &
* * * * * ps ax | grep [s]haredCatalogUpdatePrice >>/dev/null 2>&1 || nohup php /var/www/html/magento2/bin/magento queue:consumers:start sharedCatalogUpdatePrice &
また、管理者の ストア設定 から、メッセージコンシューマーのスケジュールを設定することもできます。
管理者で B2B 機能を有効にする
Adobe Commerce B2B 拡張機能をインストールしてメッセージコンシューマーを開始した後、 管理者で B2B 機能を有効にする 必要もあります。