b2c-mrt について
PWA Kitのストアフロントチーム向けに、`b2c` CLIでManaged Runtimeのプロジェクト、環境、バンドル、デプロイを管理するスキルです。認証や設定元に加え、従来のMRT Cloud APIとSCAPIの選択方法を説明します。
主な機能
- 01プロジェクトと環境の管理
- 02バンドルのデプロイと確認
- 03環境変数とリダイレクトの管理
- 04組織メンバーと証明書の設定
- 05認証とバックエンド設定の解決
活用シーン
- 01ローカルビルドのステージングまたは本番へのデプロイ
- 02環境と設定の複製
- 03デプロイ履歴の確認やバンドルのダウンロード
- 04環境変数とURLリダイレクトの管理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ salesforcecommercecloud/ b2c-developer-tooling --skill b2c-mrtインストール後、Claude Code で/b2c-mrtを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
evals/trigger-evals.jsonreferences/BUNDLE-COMMANDS.mdENVIRONMENT-COMMANDS.mdPROJECT-COMMANDS.md詳細
B2C MRT スキル
b2c CLI を使用して、PWA Kit ストアフロントの Managed Runtime(MRT)プロジェクト、環境、バンドル、デプロイを管理します。
ヒント:
b2cがグローバルにインストールされていない場合は、代わりにnpx @salesforce/b2c-cliを使用してください(例:npx @salesforce/b2c-cli mrt bundle deploy)。
設定と認証
CLI は、MRT_API_KEY(または SFCC_MRT_API_KEY)、dw.json、~/.mobify、設定プラグインから MRT API キーを解決します。プロジェクトと環境のデフォルト値は、b2c の下にある package.json(mrtProject、mrtEnvironment)または環境変数からも取得できます。package.json で API キーやその他のシークレットを指定することはできません。デフォルト値を設定している場合、通常は --api-key、-p、-e などのフラグは不要です。上書きする場合にのみ指定してください。
b2c setup inspect を実行すると、解決された設定と、各値の取得元を確認できます(スクリプトでは --json を使用してください。ユーザーから明示的に求められない限り、シークレットはマスクしたままにしてください)。優先順位のルールとトラブルシューティングについては、b2c-cli:b2c-config スキルを参照してください。
MRT バックエンド(レガシーと SCAPI)
ほとんどの MRT コマンドは、レガシー MRT Cloud API(API キー)を使用します。複数のコマンドは、SCAPI MRT バックエンド経由でも実行できます。対象は mrt bundle history、mrt bundle list、mrt bundle deploy(ローカルビルドのプッシュと、既存の <bundleId> のデプロイの両方)、および mrt env var 系のコマンド(list/set/push/delete)です。--mrt-backend(MRT_BACKEND/SFCC_MRT_BACKEND、または dw.json の mrtBackend)で選択します。
auto(デフォルト)— SCAPI の設定(--short-code+--tenant-id+ クライアント認証情報または JWT Bearer 認証)があれば SCAPI を使用し、なければレガシーを使用します。安全な実行前エラーの場合はレガシーにフォールバックします。各コマンドはそれぞれのスコープを要求します。バンドルコマンドはsfcc.storefront.deployments[.rw]、環境変数コマンドはsfcc.storefront.environments[.rw]を使用します(読み取りにはどちらの権限レベルも使用できますが、書き込みには.rwが必要です)。legacy— 常に MRT Cloud API を使用します。scapi— フォールバックなしで常に SCAPI を使用します。前提条件が不足している場合はエラーになります。また、未対応のコマンド(上記のバンドルコマンドと環境変数コマンド以外のすべての MRT コマンド)もエラーになります。
注意:
--jsonを指定すると、これらのコマンドは使用中のバックエンド固有の形式で出力します(例:bundle historyは、レガシーでは{count, next, previous, deployments}、SCAPI では{limit, offset, total, data}を返します。env var listは、レガシーでは{count, variables}、SCAPI ではネイティブの環境変数マップを返します)。人間向けの表は正規化されていますが、--jsonの出力は正規化されません。スクリプトで安定した形式が必要な場合は、legacyまたはscapiを指定してください。- SCAPI 経由の環境変数には、Storefront Environments API を使用します。
setとdeleteはマージ PATCH を適用します(指定したキーのみ変更されます。deleteはキーにnull値を設定します)。どちらのバックエンドでも値は常にマスクされます。pushは最初の読み取り時にバックエンドを解決し、その後のすべての書き込みで固定するため、1 回のpushでバックエンドをまたぐことはありません。 - レガシー専用のフラグ(
--api-key、--cloud-origin/-u、--credentials-file/-c)は、SCAPI がリクエストを処理する場合、警告とともに無視されます。 --storefront(ロング形式)と-s(ショート形式)は、--project/-pのエイリアスです。SCAPI のストアフロント ID はプロジェクトのスラッグであるため、すべてのmrtコマンドでこの 4 つは相互に置き換えて使用できます。mrt project createでは、このフラグで新しいプロジェクトのスラッグを設定します(省略時は名前から自動生成されます)。mrt bundle saveでは-dを--save-dirに使用するため、-sをストアフロントのエイリアスとして使用できます。
コマンド構造
mrt
├── org - Organizations and B2C connections
│ ├── member - Organization-level member management
│ └── cert - Custom domain certificates
├── project - Project management
│ ├── member - Team member management
│ └── notification - Deployment notifications
├── env - Environment management (incl. clone)
│ ├── var - Environment variables
│ ├── redirect - URL redirects
│ └── access-control - Access control headers
├── bundle - Bundle and deployment management (incl. delete)
└── user - User profile and settings
クイック例
バンドルをデプロイする
# Push local build to staging
b2c mrt bundle deploy -p my-storefront -e staging
# Push to production with release message
b2c mrt bundle deploy -p my-storefront -e production -m "Release v1.0.0"
# Deploy existing bundle by ID
b2c mrt bundle deploy 12345 -p my-storefront -e production
# Build and upload a v2-format bundle (upload only; deploy the returned ID separately)
b2c mrt bundle upload-v2 -p my-storefront
環境を管理する
# List environments
b2c mrt env list -p my-storefront
# Create a new environment
b2c mrt env create qa -p my-storefront --name "QA Environment"
# Clone an existing environment (-e is the source; positional arg is the new slug)
b2c mrt env clone qa -p my-storefront -e staging --clone-redirects --clone-env-vars
# Get environment details
b2c mrt env get -p my-storefront -e production
# Invalidate CDN cache
b2c mrt env invalidate -p my-storefront -e production
環境変数
# List variables
b2c mrt env var list -p my-storefront -e production
# Set variables
b2c mrt env var set API_KEY=secret DEBUG=true -p my-storefront -e staging
# Delete a variable
b2c mrt env var delete OLD_VAR -p my-storefront -e production
デプロイ履歴を表示する
# List bundles in project
b2c mrt bundle list -p my-storefront
# View deployment history for environment
b2c mrt bundle history -p my-storefront -e production
# Download a bundle artifact
b2c mrt bundle download 12345 -p my-storefront
# Delete one or more bundles (uses bulk-delete for >1)
b2c mrt bundle delete 12345 -p my-storefront
b2c mrt bundle delete 12345 12346 12347 -p my-storefront --force
組織メンバーと証明書
組織メンバーはプロジェクトメンバーとは異なり、組織レベルのロールを持ちます。カスタムドメイン証明書は組織に紐づいており、b2c mrt env create/update/clone で --certificate-id を指定して参照します。
# List, add, update, remove organization members
b2c mrt org member list --org my-org
b2c mrt org member add [email protected] --org my-org --role member --view-all-projects
b2c mrt org member update [email protected] --org my-org --no-cert-permission
b2c mrt org member remove [email protected] --org my-org
# Manage custom domain certificates
b2c mrt org cert list --org my-org
b2c mrt org cert create shop.example.com --org my-org # output includes the DNS validation record
b2c mrt org cert get 123 --org my-org
b2c mrt org cert restart-validation 123 --org my-org
b2c mrt org cert delete 123 --org my-org
プロジェクト管理
# List projects
b2c mrt project list
# Get project details
b2c mrt project get -p my-storefront
# List project members
b2c mrt project member list -p my-storefront
# Add a member
b2c mrt project member add [email protected] -p my-storefront --role developer
URL リダイレクト
# List redirects
b2c mrt env redirect list -p my-storefront -e production
# Create a redirect
b2c mrt env redirect create -p my-storefront -e production \
--from "/old-path" --to "/new-path"
# Clone redirects between environments
b2c mrt env redirect clone -p my-storefront --source staging --target production
設定
dw.json
プロジェクトの dw.json で MRT の設定を行います。
{
"mrtProject": "my-storefront",
"mrtEnvironment": "staging"
}
環境変数
export MRT_API_KEY=your-api-key
export MRT_PROJECT=my-storefront
export MRT_ENVIRONMENT=staging
export MRT_BACKEND=auto # auto (default) | legacy | scapi
~/.mobify の設定
API キーを ~/.mobify に保存します。
{
"api_key": "your-mrt-api-key"
}
詳細なリファレンス
- プロジェクトコマンド - プロジェクト、メンバー、通知
- 環境コマンド - 環境、変数、リダイレクト
- バンドルコマンド - デプロイ、履歴、ダウンロード
その他のコマンド
利用可能なコマンドとオプションの一覧については、b2c mrt --help を参照してください。