Developer Preview — This project is in active development. APIs may change. Provide feedback
Skip to content

cartridge_deploy

Deploys cartridges to a B2C Commerce instance via WebDAV. Finds cartridges by .project files, creates a ZIP archive, uploads via WebDAV, and optionally reloads the code version.

Overview

The cartridge_deploy tool automates cartridge deployment to B2C Commerce instances. It:

  1. Searches the specified directory for cartridges (identified by .project files).
  2. Applies the include/exclude filters to select which cartridges to deploy.
  3. Creates a ZIP archive of all selected cartridge directories.
  4. Uploads the ZIP to WebDAV and triggers server-side unzip.
  5. Optionally reloads the code version after deployment.

This tool is useful for deploying custom code cartridges for SFRA or other B2C Commerce code. It requires the instance to have a code version configured.

Authentication

Supports two authentication methods:

Configuration Priority:

  1. Flags (--server, --username, --password, --client-id, --client-secret)
  2. Environment variables (SFCC_SERVER, SFCC_USERNAME, SFCC_PASSWORD, SFCC_CLIENT_ID, SFCC_CLIENT_SECRET)
  3. dw.json config file (auto-discovered or via --config flag)

Parameters

ParameterTypeRequiredDefaultDescription
directorystringNoProject directory from --project-directory flag or SFCC_PROJECT_DIRECTORY env var (falls back to process.cwd())Path to directory to search for cartridges. The tool recursively searches for .project files to identify cartridges.
cartridgesstring[]NoAll found cartridgesArray of cartridge names to include in the deployment. Use this to selectively deploy specific cartridges when you have multiple cartridges but only want to update some. If not specified, all cartridges found in the directory are deployed.
excludestring[]NoNoneArray of cartridge names to exclude from the deployment. Use this to skip deploying certain cartridges, such as third-party or unchanged cartridges. Applied after the include filter.
reloadbooleanNofalseWhether to reload the code version after deployment. When true, the tool triggers a code version reload on the instance.

Usage Examples

Basic Deployment

Deploy all cartridges found in the current directory:

Use the MCP tool to deploy my cartridges to the sandbox instance.

Deploy Specific Cartridges

Deploy only selected cartridges:

Use the MCP tool to deploy only the app_storefront_base cartridge to production.

Deploy from Specific Directory

Deploy cartridges from a specific directory:

Use the MCP tool to deploy cartridges from the ./cartridges directory and reload the code version.

Exclude Cartridges

Deploy all cartridges except certain ones:

Use the MCP tool to deploy cartridges excluding test_cartridge and bm_extensions.

Output

Returns a deployment result object containing:

  • cartridges - Array of cartridge mappings that were deployed (each with name, src, dest)
  • codeVersion - Code version name used for deployment
  • reloaded - Whether the code version was reloaded (if reload: true)

Requirements

  • B2C Commerce instance with WebDAV access
  • Code version configured on the instance
  • Cartridges must have .project files in their directories
  • Valid authentication credentials (Basic auth or OAuth)
  • Part of the CARTRIDGES toolset
  • Auto-enabled for cartridge projects (detected by .project file)

See Also

Released under the Apache-2.0 License.