mcpField
B
b2c-mrt

b2c-mrt

github.com/salesforcecommercecloudクラウド・DevOps5786 回インストール今日更新
リポジトリ

b2c-mrt について

PWA Kitのストアフロントチーム向けに、`b2c` CLIでManaged Runtimeのプロジェクト、環境、バンドル、デプロイを管理するスキルです。認証や設定元に加え、従来のMRT Cloud APIとSCAPIの選択方法を説明します。

主な機能

  1. 01プロジェクトと環境の管理
  2. 02バンドルのデプロイと確認
  3. 03環境変数とリダイレクトの管理
  4. 04組織メンバーと証明書の設定
  5. 05認証とバックエンド設定の解決

活用シーン

  1. 01ローカルビルドのステージングまたは本番へのデプロイ
  2. 02環境と設定の複製
  3. 03デプロイ履歴の確認やバンドルのダウンロード
  4. 04環境変数とURLリダイレクトの管理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/salesforcecommercecloud/b2c-developer-tooling --skill b2c-mrt

インストール後、Claude Code で/b2c-mrtを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

evals/
trigger-evals.json
references/
BUNDLE-COMMANDS.md
ENVIRONMENT-COMMANDS.md
PROJECT-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 を参照してください。

コメント