1. Sitecore CLI command reference

The CLI publish command

The Sitecore publishing plugin includes a publish command. This command publishes Sitecore Items.

To install the publishing plugin, run the following code:

bash
dotnet sitecore plugin add -n Sitecore.DevEx.Extensibility.Publishing

Usage

You can use the command as follows:

bash
dotnet sitecore publish [options]
Tip

Some Sitecore CLI command examples wrap items names and other strings containing spaces in single quotes for correct interpretation by PowerShell. If you use a different command-line shell, you might have to change single quotes to double quotes.

Options

You can use the following options with the publish command:

OptionRequiredDescription
-n, --environment-nameNoThe Sitecore environment to use. Default: default.
-c, --configNoPath to root sitecore.config directory (default: cwd).
-l, --languagesNoComma-separated list of languages to publish. If unspecified, all languages are published.
-p, --pathNoDeprecated.Sitecore item path or GUID to smart publish. If unspecified, then the entire database is published.
-r, --republishNoUse republish. If unspecified, then smart-publish is used instead.
-pt, --targetsNoList of target databases to publish. If unspecified, it publishes to the default publishing target (the first one in the list).
-v, --verboseNoReport additional diagnostic and performance data.
-t, --traceNoReport additional diagnostic and performance data.
-?, -h, --helpNoHelp for the command.

Examples

The following are examples of the publish command use:

CommandResult
Attempt to publish from the samples folder
sitecore publish
Does not publish Sitecore items and returns the message: error: Couldn't resolve a root configuration file (sitecore.json) in the current or any parent directory. Looks like the command may have been executed outside a Sitecore project?.
Attempt to publish from the samples folder
sitecore publish -c Prototype/
Publishes the Sitecore items from the folder samples.
sitecore publish -n testEnvPublishes Sitecore items to the environment with the name testEnv.
dotnet sitecore publish -l en-US,en-CAPublishes Sitecore items for only the specified languages (en-US,en-CA).
dotnet sitecore publish -p '/sitecore/content/Home/Test Item'Deprecated. See the item subcommand.Publishes only the item with path /sitecore/content/Home/Test Item.
dotnet sitecore publish -pt CustomTarget1 CustomTarget2Publishes items to the CustomTarget1 and CustomTarget2 database targets.
dotnet sitecore publish -vCreates additional diagnostic and performance data, such as root config path or count of nodes with performance, for example, 73ms (8.1ms/node).
dotnet sitecore publish -tCreates additional diagnostic and performance data, such as FSIndex: Loaded filesystem indexes in, for example, 70ms (9 metadatas) or created package of 1 trees in, for example, 1983ms (9 items; 220.3ms/node).

Subcommands

The publish command has the following subcommands:

  • list-targets - displays all the publishing targets defined for an environment.
  • item - publishes a single item.

The list-targets subcommand

The list-targets subcommand reads and lists all publishing targets defined for a Sitecore environment. The list-targets subcommand requires elevated permissions.

You can run the command as follows:

bash
dotnet sitecore publish list-targets [options]

You can use the following options with the list-targets subcommand:

OptionRequiredDescription
-c, --configNoPath to root sitecore.config directory.Default: current working directory.
-n, --environment-nameNoNamed Sitecore environment to use.Default: 'default'.
-v, --verboseNoWrite additional diagnostic and performance data.
-t, --traceNoWrite additional diagnostic and performance data.
-?, -h, --helpNo-?, -h, --help

The item subcommand

The item subcommand publishes a single item. The item subcommand requires elevated permissions.

You can run the command as follows:

bash
dotnet sitecore publish item [options]

You can use the following options with the item subcommand:

OptionRequiredDescription
-n, --environment-nameNoThe Sitecore environment to use.Default: default.
-c, --configNoPath to root sitecore.config directory.Default: cwd.
-l, --languagesNoComma-separated list of languages to publish. If unspecified, all languages are published.
-p, --pathNoSitecore item path or GUID to smart publish.
-r, --republishNoUse republish. If unspecified, then smart-publish is used instead.
-pt, --targetsNoList of target databases to publish. If unspecified, it publishes to the default publishing target (the first one in the list).
-sub, --subitemsNoPublish subitems.Default: false.
-rel, --relatedNoPublish related items.Default: false.
-v, --verboseNoReport additional diagnostic and performance data.
-t, --traceNoReport additional diagnostic and performance data.
-?, -h, --helpNoHelp for the command.

For example, to publish a single item, including its subitems and related items, you run the following command:

bash
dotnet sitecore publish item --path /sitecore/content/Home -sub -rel
If you have suggestions for improving this article, let us know!