aspire publish command
aspire publish - Generates deployment artifacts for an Aspire AppHost project.
Synopsis
Section titled “Synopsis”aspire publish [options] [[--] <additional arguments>...]Description
Section titled “Description”The aspire publish command publishes resources by serializing them to disk. When this command is run, Aspire executes publishing pipeline steps that have been registered in the app model (for example, by environment resources). These steps serialize resources so that they can be consumed by deployment tools.
The Aspire CLI uses the following logic, in order, to determine which AppHost project to process:
-
The
--apphostoption.This option specifies the path to the Aspire AppHost project file to process.
-
The rooted
aspire.config.jsonfile.If the rooted config exists in the current directory, it’s used. If not, the CLI walks up the directory structure looking for it. If Aspire finds the rooted config, it uses the recorded AppHost information to determine which project to process. Legacy
.aspire/settings.jsonfiles are still read during migration. -
Searches the current directory and subdirectories.
Starting in the current directory, the CLI gathers all AppHost projects from that directory and below. If a single project is discovered, it’s automatically selected. If multiple projects are discovered, they’re printed to the terminal for the user to manually select one of the projects.
Once a project is selected, either automatically or manually, Aspire records that selection in the rooted configuration so later commands can reuse it.
The command performs the following steps to run an Aspire AppHost:
- Creates or updates the rooted
aspire.config.jsonfile and records the selected AppHost there. Legacy.aspire/settings.jsonfiles are still read during migration. - Installs or verifies that Aspire’s local hosting certificates are installed and trusted.
- Builds the AppHost project and its resources.
- Starts the AppHost and its resources.
- Executes all publishing pipeline steps registered in the app model.
Options
Section titled “Options”The following options are available:
-
--Delimits arguments to
aspire publishfrom arguments for the AppHost. All arguments after this delimiter are passed to the AppHost. -
--apphost <apphost>The path to the Aspire AppHost project file.
-
-o, --output-pathThe output path for the generated artifacts. Defaults to
./aspire-outputif not specified. -
--log-levelSet the minimum log level for pipeline logging. Valid values are:
trace,debug,information,warning,error,critical. The default isinformation. -
-e, --environmentThe environment to use for the operation. The default is
Production. -
--include-exception-detailsInclude exception details (stack traces) in pipeline logs.
-
-?, -h, --helpPrints help and usage documentation for the available commands and options.
-
-l, --log-level <Critical|Debug|Error|Information|None|Trace|Warning>Set the minimum log level for console output. Use this option to increase diagnostics while troubleshooting or reduce output in scripted runs.
-
--non-interactiveRun the command in non-interactive mode, disabling all interactive prompts and spinners.
-
--nologoSuppress the startup banner and telemetry notice.
-
--bannerDisplay the animated Aspire CLI welcome banner.
-
--wait-for-debuggerWait for a debugger to attach before running a command.
Examples
Section titled “Examples”-
Search the current directory structure for AppHost projects to build and publish:
Aspire CLI aspire publish -
Publish a specific AppHost project:
Aspire CLI aspire publish --apphost './projects/apphost/orchestration.AppHost.csproj' -
Publish a specific AppHost project with arguments:
Aspire CLI aspire publish --apphost './projects/apphost/orchestration.AppHost.csproj' -- -fast