跳转到内容
Docs Try Aspire
Docs Try

aspire publish command

此内容尚不支持你的语言。

aspire publish - Generates deployment artifacts for an Aspire AppHost project.

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

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 --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 run an Aspire AppHost:

  • 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 all publishing pipeline steps registered in the app model.

After the pipeline finishes, aspire publish prints a result summary and a step-by-step breakdown. The summary shows how many steps succeeded, the total pipeline duration, and a Steps Summary: table.

The Steps Summary: table lists pipeline steps in their execution hierarchy. Top-level steps appear at the left edge of the step-name column, and child steps are indented under their parent steps. Each row includes the step duration, final status, step name, and, when the terminal is wide enough, a timeline bar that shows when the step started and finished relative to the whole pipeline.

Output
------------------------------------------------------------
✅ 5/5 steps succeeded • Total time: 0.43s
Steps Summary:
Step timeline: 0s 0.41s
│───────┬──────┬─────┬───────│
0.57ms ✓ validate-compute-environments │╴ │
0.16ms ✓ before-start │╴ │
0.41s ✓ pipeline-execution │╶──────────────────────────╴│
0.41s ✓ custom-publish-prereq │╶──────────────────────────╴│
0.55ms ✓ publish │ ╴│
✅ Pipeline succeeded
------------------------------------------------------------

The Step timeline: header shows the start and end of the overall pipeline duration. The ruler divides that duration into equal intervals, and each step row uses a bar to show the step’s relative start and end times. Very short steps can appear as a single point marker (). If the terminal isn’t wide enough to preserve readable step names, Aspire omits the timeline columns and keeps the hierarchical step list.

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 output path for the generated artifacts. Defaults to the AppHost directory’s aspire-output folder if not specified.

  • --pipeline-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.

  • --list-steps

    List the pipeline steps that would be executed, without running them. Useful for inspecting what a pipeline command will do before invoking it for real.

  • --no-build

    Don’t build or restore the AppHost project before running the command. Use this when you’ve already built the AppHost (for example, in a CI step) and want to skip the implicit build.

  • -?, -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 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