Skip to content
Docs Try Aspire

aspire deploy command

aspire deploy - Deploy a codebase orchestrated with Aspire to specified targets.

Aspire CLI
aspire deploy [options] [[--] <additional arguments>...]

The aspire deploy command invokes the deploy pipeline step and any dependent steps (such as the publish step) registered in the app model.

The Aspire CLI uses the following logic, in order, to determine which AppHost project to process:

  • The --apphost option.

    This option specifies the path to the Aspire AppHost project file to process.

  • The rooted aspire.config.json file.

    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.json files 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 deploy an app orchestrated with Aspire:

  • Creates or updates the rooted aspire.config.json file and records the selected AppHost there. Legacy .aspire/settings.json files 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 the deploy pipeline step, and any dependent steps, registered in the app model.

The following options are available:

  • --

    Delimits arguments to aspire publish from 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-path

    The optional output path for deployment artifacts. Defaults to the aspire-output folder relative to the apphost.

  • --log-level

    Set the minimum log level for pipeline logging. Valid values are: trace, debug, information, warning, error, critical. The default is information.

  • -e, --environment

    The environment to use for the operation. The default is Production.

  • --include-exception-details

    Include exception details (stack traces) in pipeline logs.

  • --clear-cache

    Clear the deployment cache associated with the current environment and do not save deployment state.

  • -?, -h, --help

    Prints 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-interactive

    Run the command in non-interactive mode, disabling all interactive prompts and spinners.

  • --nologo

    Suppress the startup banner and telemetry notice.

  • --banner

    Display the animated Aspire CLI welcome banner.

  • --wait-for-debugger

    Wait for a debugger to attach before running a command.

  • Search the current directory structure for AppHost projects to build, publish, and deploy:

    Aspire CLI
    aspire deploy
  • Publish and deploy an Aspire apphost and its dependencies:

    Aspire CLI
    aspire deploy --apphost './projects/apphost/orchestration.AppHost.csproj'
  • Publish and deploy an Aspire AppHost with arguments:

    Aspire CLI
    aspire deploy --apphost './projects/apphost/orchestration.AppHost.csproj' -- -fast