Adobe Commerce B2B拡張機能のインストール
Adobe Commerce B2B拡張機能magento/extension-b2bは、サポートされているすべてのバージョンのAdobe Commerceで使用できます。 Adobe Commerceのインストール後にインストールされます。
要件定義
- Adobe Commerce、サポートされているすべてのバージョン
- PHP 8.1、8.2、および8.3 (B2B 1.5.0が必要)
- Composer
サポートされているプラットフォーム
- Adobe Commerce on cloud infrastructure (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機能を有効にするモジュールのコレクションを含むコンポーザーメタパッケージです。 含まれるモジュールの一覧については、B2B パッケージ を参照してください。
| note tip |
|---|
| TIP |
| クラウドインフラストラクチャにAdobe Commerce B2Bをインストールする場合、Adobeでは、開始する前にAdobe Commerce アプリケーションを統合環境またはステージング環境にデプロイすることをお勧めします。 |
Adobeでは、B2B拡張機能をプロジェクトに追加する際に、開発ブランチで作業することをお勧めします。 分岐がない場合は、開発用の分岐の作成を参照してください。 B2B拡張機能をインストールすると、Magento_B2b拡張機能の名前がapp/etc/config.php ファイルに自動的に挿入されます。 ファイルを直接編集する必要はありません。
B2B拡張機能をインストールするには:
-
ローカル ワークステーションで、プロジェクト ディレクトリに移動します。
-
開発ブランチを作成またはチェックアウトします。
-
B2B拡張機能を
composer.jsonファイルのrequireセクションに追加します。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 クラウド環境に更新をプッシュすると、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 実稼動モードでは、 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拡張機能をインストールし、メッセージコンシューマーを開始したら、Admin🔗でB2B機能を有効にする必要があります。