关于 b2c-code
b2c-code 技能介绍如何用 `b2c` 命令行在 Salesforce B2C Commerce 上部署、下载和管理代码版本。内容涵盖 cartridge 传输、文件变更后自动上传、版本激活与列表操作。
主要功能
- 01部署和下载 cartridge
- 02监视变更并上传
- 03列出、激活和删除代码版本
- 04检查解析后的配置
适用场景
- 01向实例部署 cartridge 代码
- 02下载活动版本的 cartridge
- 03文件变更时上传编辑内容
- 04激活或删除代码版本
MCP 相关
该技能介绍 cartridge 部署以及代码版本或站点 cartridge 检查的 MCP 对应操作,也区分了 MCP 操作与监视文件、递归下载等 CLI 任务。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ salesforcecommercecloud/ b2c-developer-tooling --skill b2c-code安装后在 Claude Code 中输入/b2c-code确认已加载。
附带文件evals/trigger-evals.json
详细介绍
B2C 代码技能
使用 b2c CLI 在 Salesforce B2C Commerce 实例上部署、下载和管理代码版本。
提示: 如果未全局安装
b2c,请改用npx @salesforce/b2c-cli(例如,npx @salesforce/b2c-cli code deploy)。
MCP 等效方式
优先使用 cartridge_deploy 上传 cartridge。必要时显式设置 codeVersion;files 最多可选择 100 个本地文件(总计 64 MiB),路径相对于 projectDirectory,且文件必须位于已发现的 cartridge 中。省略 files 可部署整个 cartridge。
匹配的远程文件会被覆盖;仅选定文件模式会保留其他文件。
reload 可能会激活目标版本;如果重新加载失败,请保留上传成功状态和警告信息。
代码模式 builtin/code-version-inspect 会读取活动版本、回滚版本和激活元数据;
builtin/site-cartridge-inspect 会读取站点 cartridge 顺序,并检查预期名称。
SCAPI dx/scripts/v1 提供版本管理;site/sites/v1 管理站点路径。
监视、递归下载和其他部署标志请使用 CLI。
配置与身份验证
CLI 会从 SFCC_* 环境变量(包括项目 .env)、选定的项目本地或共享 dw.json,以及配置插件中自动发现目标实例和凭据。package.json 仅提供非敏感默认值。通常无需传入 --server、--client-id、--client-secret、--username 和 --password 等标志——只有在需要覆盖自动检测的值时才传入。
只配置了服务器时,首次执行命令会打开浏览器,让用户使用其 Account Manager 账户登录,并等待登录完成;请告知用户完成登录。用户的 Business Manager 角色决定其访问权限;如果出现 403 错误,错误信息会指出缺少的权限(例如 Cartridges 所需的 WebDAV_Manage_Customization)。代码会部署到活动代码版本;激活代码版本(code activate、--activate、--reload)需要 API 客户端。
运行 b2c setup inspect 可查看解析后的配置,以及每个值的来源(脚本处理时可使用 --json;默认情况下会屏蔽机密信息)。有关优先级规则和故障排查,请参阅 b2c-cli:b2c-config 技能。
示例
部署 Cartridges
# deploy all cartridges from current directory
b2c code deploy
# deploy cartridges from a specific directory
b2c code deploy ./my-cartridges
# deploy to a specific server and code version
b2c code deploy --server my-sandbox.demandware.net --code-version v1
# deploy and reload (re-activate) the code version
b2c code deploy --reload
# delete existing cartridges before upload and reload
b2c code deploy --delete --reload
# deploy only specific cartridges
b2c code deploy -c app_storefront_base -c plugin_applepay
# exclude specific cartridges from deployment
b2c code deploy -x test_cartridge
下载 Cartridges
# download all cartridges from the active code version
b2c code download
# download to a specific directory
b2c code download -o ./downloaded
# download from a specific server and code version
b2c code download --server my-sandbox.demandware.net --code-version v1
# download only specific cartridges
b2c code download -c app_storefront_base -c plugin_applepay
# exclude specific cartridges from download
b2c code download -x test_cartridge
# mirror: extract to local cartridge project locations
b2c code download --mirror
监视更改
# watch cartridges and upload changes automatically
b2c code watch
# watch a specific directory
b2c code watch ./my-cartridges
# watch with specific server and code version
b2c code watch --server my-sandbox.demandware.net --code-version v1
# watch only specific cartridges
b2c code watch -c app_storefront_base
# watch excluding specific cartridges
b2c code watch -x test_cartridge
列出代码版本
# list code versions on the instance
b2c code list
# list with JSON output
b2c code list --json
激活代码版本
# activate a code version
b2c code activate <version-name>
# reload (re-activate) the current code version
b2c code activate --reload
注意: 激活操作具有幂等性。如果版本已处于活动状态,命令会成功执行且不做更改。如果你已上传代码,或在活动版本中更改了 Custom APIs,请在部署或激活时使用 --reload 强制刷新并注册端点。请使用 b2c-cli:b2c-scapi-custom 技能检查注册状态。
删除代码版本
# delete a code version
b2c code delete <version-name>
API 后端
code list、code activate、code delete,以及 code deploy 中发现活动版本、激活和重新加载的步骤,均通过 SCAPI 执行。配置 shortCode、tenantId 和 sfcc.scripts / sfcc.scripts.rw 作用域后,这些功能即可直接使用。读取作用域(sfcc.scripts)涵盖 code list / 发现操作;写入作用域(sfcc.scripts.rw)涵盖激活、删除、重新加载,以及部署时的 --activate / --reload 标志。
code deploy(文件上传本身)、code download 和 code watch 始终使用 WebDAV——只有相关的代码版本操作使用 SCAPI。
OCAPI 已弃用,并且在较新的实例上已禁用。--api-backend auto(默认值)会在 SCAPI 能力、身份验证或请求安全失败时回退到 OCAPI Data API;如有需要,可使用 --api-backend scapi|ocapi 强制指定后端。--reload 标志会通过 activate(alternate) + activate(target) 强制重新加载代码缓存,使用命令所选的后端——因此,在已禁用 OCAPI 的实例上,只要配置了 SCAPI,该操作也能正常工作。
更多命令
请参阅 b2c code --help,了解 code 主题中所有可用命令和选项的完整列表。
注意:
b2c code deploy会将 cartridge 代码_上传到实例。如需管理_网站上处于活动状态的 cartridge(cartridge 路径),请参阅b2c-cli:b2c-sites技能中的b2c sites cartridges命令。
相关技能
b2c-cli:b2c-sites- 管理网站的 cartridge 路径(列出、添加、移除 cartridge,设置活动 cartridge)b2c-cli:b2c-scapi-custom- 部署后检查 Custom API 注册状态b2c-cli:b2c-webdav- 低级文件操作(删除 cartridge、列出文件)b2c:b2c-custom-api-development- 创建 Custom API 端点