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:
Usage
You can use the command as follows:
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:
| Option | Required | Description |
|---|---|---|
| -n, --environment-name | No | The Sitecore environment to use. Default: default. |
| -c, --config | No | Path to root sitecore.config directory (default: cwd). |
| -l, --languages | No | Comma-separated list of languages to publish. If unspecified, all languages are published. |
| -p, --path | No | Deprecated.Sitecore item path or GUID to smart publish. If unspecified, then the entire database is published. |
| -r, --republish | No | Use republish. If unspecified, then smart-publish is used instead. |
| -pt, --targets | No | List of target databases to publish. If unspecified, it publishes to the default publishing target (the first one in the list). |
| -v, --verbose | No | Report additional diagnostic and performance data. |
| -t, --trace | No | Report additional diagnostic and performance data. |
| -?, -h, --help | No | Help for the command. |
Examples
The following are examples of the publish command use:
| Command | Result |
|---|---|
| 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 testEnv | Publishes Sitecore items to the environment with the name testEnv. |
| dotnet sitecore publish -l en-US,en-CA | Publishes 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 CustomTarget2 | Publishes items to the CustomTarget1 and CustomTarget2 database targets. |
| dotnet sitecore publish -v | Creates 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 -t | Creates 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:
You can use the following options with the list-targets subcommand:
| Option | Required | Description |
|---|---|---|
| -c, --config | No | Path to root sitecore.config directory.Default: current working directory. |
| -n, --environment-name | No | Named Sitecore environment to use.Default: 'default'. |
| -v, --verbose | No | Write additional diagnostic and performance data. |
| -t, --trace | No | Write additional diagnostic and performance data. |
| -?, -h, --help | No | -?, -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:
You can use the following options with the item subcommand:
| Option | Required | Description |
|---|---|---|
| -n, --environment-name | No | The Sitecore environment to use.Default: default. |
| -c, --config | No | Path to root sitecore.config directory.Default: cwd. |
| -l, --languages | No | Comma-separated list of languages to publish. If unspecified, all languages are published. |
| -p, --path | No | Sitecore item path or GUID to smart publish. |
| -r, --republish | No | Use republish. If unspecified, then smart-publish is used instead. |
| -pt, --targets | No | List of target databases to publish. If unspecified, it publishes to the default publishing target (the first one in the list). |
| -sub, --subitems | No | Publish subitems.Default: false. |
| -rel, --related | No | Publish related items.Default: false. |
| -v, --verbose | No | Report additional diagnostic and performance data. |
| -t, --trace | No | Report additional diagnostic and performance data. |
| -?, -h, --help | No | Help for the command. |
For example, to publish a single item, including its subitems and related items, you run the following command: