aspire-deployment

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Aspire Deployment

Aspire 部署

Use this skill when the task is to publish, preview, validate, deploy, or tear down an Aspire application deployment. This skill owns Aspire deployment routing. Do not start with a generic Azure, Docker, Kubernetes, Helm, or Bicep workflow until you have checked whether the workspace is an Aspire app.
Aspire deployment starts from the AppHost model. Treat
aspire deploy
,
aspire publish
,
aspire destroy
,
aspire do
, and the deployment environment resources in the AppHost as the primary path. Use stable SDK/hosting packages from the project's release family and matching preview builds for preview-only integrations such as Kubernetes and Radius.
Keep this as one skill with target-specific references. Load only the reference files that match the target you discover or the user requests.
当任务是发布、预览、验证、部署或拆除Aspire应用部署时,使用此技能。此技能负责Aspire部署的路由调度。在检查工作区是否为Aspire应用之前,不要从通用的Azure、Docker、Kubernetes、Helm或Bicep工作流开始。
Aspire部署从AppHost模型开始。将
aspire deploy
、
aspire publish
、
aspire destroy
、
aspire do
以及AppHost中的部署环境资源视为主要路径。使用项目发布系列中的稳定SDK/托管包,并为Kubernetes和Radius等仅预览版的集成使用匹配的预览版本。
将此作为一个包含特定目标参考的技能。仅加载与你发现的或用户请求的目标匹配的参考文件。

Routing precedence

路由优先级

This skill wins over generic cloud deployment skills when both conditions are true:
  1. The user asks to deploy, publish, generate deployment artifacts, create Bicep/Helm/Compose/CDK output, host on Azure or AWS, deploy to Azure, AWS, Kubernetes, Docker Compose, or Radius, tear down deployed resources, or validate a deployment.
  2. The workspace has Aspire markers:
    • Aspire workspace configuration
    • C# or TypeScript AppHost files
    • an AppHost project
    • AppHost code using Aspire distributed application builder APIs
If Aspire markers are present but this skill was not automatically invoked, switch to this skill before continuing. Prefer Aspire CLI commands such as
aspire ls
,
aspire config list
,
aspire ps
, and
aspire describe
for workspace orientation.
当同时满足以下两个条件时,此技能优先于通用云部署技能:
  1. 用户要求部署、发布、生成部署制品、创建Bicep/Helm/Compose/CDK输出、在Azure或AWS上托管、部署到Azure、AWS、Kubernetes、Docker Compose或Radius、拆除已部署资源或验证部署。
  2. 工作区包含Aspire标识:
    • Aspire工作区配置
    • C#或TypeScript AppHost文件
    • 一个AppHost项目
    • 使用Aspire分布式应用构建器API的AppHost代码
如果存在Aspire标识但此技能未被自动调用,请先切换到此技能再继续。优先使用Aspire CLI命令(如
aspire ls
、
aspire config list
、
aspire ps
和
aspire describe
)来了解工作区情况。

Guiding principles

指导原则

Use Aspire docs before changing deployment code

修改部署代码前先查阅Aspire文档

Before adding target packages, editing the AppHost, or using an unfamiliar deployment API, use Aspire docs:
bash
aspire docs search "deploy with Aspire"
aspire docs search "Docker Compose deployment"
aspire docs search "Kubernetes deployment"
aspire docs search "Azure Container Apps deployment"
aspire docs search "Azure App Service deployment"
aspire docs search "Azure Kubernetes Service deployment"
aspire docs search "Radius deployment"
aspire docs get "deploy-to-azure-kubernetes-service-aks"
aspire docs get "<slug-from-search-results>"
When you need exact C# or TypeScript API shape, use API docs too. Search both languages when you are not sure which AppHost language the repo uses:
bash
aspire docs api search "<deployment API or concept>" --language csharp
aspire docs api search "<deployment API or concept>" --language typescript
aspire docs api get "<id-from-api-search>"
Do not invent package names, builder methods, overloads, or deployment commands. API shapes differ between C# and TypeScript AppHosts.
在添加目标包、编辑AppHost或使用不熟悉的部署API之前,请查阅Aspire文档:
bash
aspire docs search "deploy with Aspire"
aspire docs search "Docker Compose deployment"
aspire docs search "Kubernetes deployment"
aspire docs search "Azure Container Apps deployment"
aspire docs search "Azure App Service deployment"
aspire docs search "Azure Kubernetes Service deployment"
aspire docs search "Radius deployment"
aspire docs get "deploy-to-azure-kubernetes-service-aks"
aspire docs get "<slug-from-search-results>"
当你需要确切的C#或TypeScript API形式时,也请使用API文档。当你不确定仓库使用哪种AppHost语言时,请同时搜索两种语言:
bash
aspire docs api search "<deployment API or concept>" --language csharp
aspire docs api search "<deployment API or concept>" --language typescript
aspire docs api get "<id-from-api-search>"
不要编造包名、构建器方法、重载或部署命令。C#和TypeScript AppHost的API形式有所不同。

Prefer Aspire-native deployment

优先使用Aspire原生部署

Deploy the resources declared in the AppHost, not the AppHost process itself. For Docker Compose, configure the Compose environment and let Aspire generate services for those resources; do not replace this with an AppHost Dockerfile or Compose service.
Use Aspire deployment targets and CLI commands first:
bash
aspire publish --list-steps
aspire deploy --list-steps
aspire publish
aspire deploy
aspire destroy
aspire do <step>
Use target-specific tooling only after Aspire has generated artifacts or when the target docs call for it:
  • Docker Compose: inspect generated
    aspire-output/docker-compose.yaml
    and
    .env*
    ; Aspire can also run
    docker compose up
    through
    aspire deploy
    .
  • Kubernetes: inspect generated Helm chart output; use Helm/kubectl when applying published artifacts yourself.
  • Azure: use
    aspire add <azure-target>
    ,
    aspire publish
    , and
    aspire deploy
    through the AppHost deployment environment.
  • AWS: use
    aspire add aws
    to add the integration, inspect generated CDK/CloudFormation output, and follow the AWS integrations repository guidance.
  • Radius: treat
    Aspire.Hosting.Radius
    as preview. Use integration/docs search to verify the package and API, then model
    AddRadiusEnvironment(...).WithNamespace(...)
    .
部署AppHost中声明的资源,而不是AppHost进程本身。 对于Docker Compose,请配置Compose环境,让Aspire为这些资源生成服务;不要用AppHost Dockerfile或Compose服务来替代。
优先使用Aspire部署目标和CLI命令:
bash
aspire publish --list-steps
aspire deploy --list-steps
aspire publish
aspire deploy
aspire destroy
aspire do <step>
仅在Aspire生成制品后或目标文档要求时,才使用特定于目标的工具:
  • Docker Compose:检查生成的
    aspire-output/docker-compose.yaml
    和
    .env*
    ;Aspire也可以通过
    aspire deploy
    运行
    docker compose up
    。
  • Kubernetes:检查生成的Helm chart输出;自行应用已发布的制品时使用Helm/kubectl。
  • Azure:通过AppHost部署环境使用
    aspire add <azure-target>
    、
    aspire publish
    和
    aspire deploy
    。
  • AWS:使用
    aspire add aws
    添加集成,检查生成的CDK/CloudFormation输出,并遵循AWS集成仓库的指南。
  • Radius:将
    Aspire.Hosting.Radius
    视为预览版。使用集成/文档搜索来验证包和API,然后构建
    AddRadiusEnvironment(...).WithNamespace(...)
    模型。

Ask where to deploy only when ambiguous

仅在不明确时询问部署目标

Do not ask for target selection when the user already chose a target such as Docker Compose, Kubernetes, Azure Container Apps, Azure App Service, Azure Kubernetes Service (AKS), or AWS. Use the chosen target and continue with its reference.
If the user did not explicitly choose a deployment target and the AppHost does not already contain exactly one deployment environment, ask where they want to deploy before adding integrations, editing the AppHost, publishing artifacts, or deploying. Use a single multiple-choice question:
Where do you want to deploy this Aspire app?
Show these choices:
ChoiceAspire add commandUse when
Docker Compose
aspire add docker
The user wants local/server container deployment artifacts for Docker or Podman.
Kubernetes
aspire add kubernetes
The user has an existing Kubernetes cluster and wants Helm/Kubernetes artifacts or direct cluster deployment.
Azure Container Apps
aspire add azure-appcontainers
The user wants an Azure-managed container platform for distributed apps and services.
Azure App Service
aspire add azure-appservice
The user wants Azure website hosting for web apps/APIs that fit the App Service model.
Azure Kubernetes Service (AKS)
aspire add azure-kubernetes
The user wants Aspire to provision and deploy to Azure-managed Kubernetes.
AWS
aspire add aws
The user wants Aspire to publish/deploy through the AWS Aspire integrations and AWS CDK.
Do not offer preview Radius as a default choice. Use it when the user explicitly requests Radius or the AppHost already contains a Radius environment.
If the user says only "Azure", ask again with just the Azure choices: Azure Container Apps, Azure App Service, or Azure Kubernetes Service (AKS). If the AppHost already contains exactly one deployment environment and the user did not ask to change targets, use that target and tell the user what was detected.
当用户已经选择了目标(如Docker Compose、Kubernetes、Azure Container Apps、Azure App Service、Azure Kubernetes Service (AKS)或AWS)时,不要询问目标选择。使用所选目标并继续参考其相关文档。
如果用户未明确选择部署目标,且AppHost中尚未包含恰好一个部署环境,请在添加集成、编辑AppHost、发布制品或部署之前询问他们要部署到哪里。使用一个单项选择题:
你想将这个Aspire应用部署到哪里?
显示以下选项:
选项Aspire add命令适用场景
Docker Compose
aspire add docker
用户需要用于Docker或Podman的本地/服务器容器部署制品。
Kubernetes
aspire add kubernetes
用户已有Kubernetes集群,需要Helm/Kubernetes制品或直接集群部署。
Azure Container Apps
aspire add azure-appcontainers
用户需要用于分布式应用和服务的Azure托管容器平台。
Azure App Service
aspire add azure-appservice
用户需要适合App Service模型的Web应用/API的Azure网站托管。
Azure Kubernetes Service (AKS)
aspire add azure-kubernetes
用户希望Aspire预配并部署到Azure托管的Kubernetes。
AWS
aspire add aws
用户希望Aspire通过AWS Aspire集成和AWS CDK发布/部署。
不要将预览版Radius作为默认选项提供。仅当用户明确要求Radius或AppHost已包含Radius环境时才使用它。
如果用户只说“Azure”,则仅用Azure选项再次询问:Azure Container Apps、Azure App Service或Azure Kubernetes Service (AKS)。如果AppHost已包含恰好一个部署环境且用户未要求更改目标,则使用该目标并告知用户检测到的内容。

Ask before creating cloud resources when intent is not explicit

意图不明确时,创建云资源前先询问

Cloud deploys can create billable resources. If the user asked for a plan, preview, validation, or "make this deployable", stop after the deployment plan/artifacts and ask before running the command that provisions resources.
If the user explicitly asked to deploy now, continue through preflight and deployment, but still surface any target choice, subscription/resource group ambiguity, or missing parameter decisions before provisioning.
云部署可能会创建付费资源。如果用户要求计划、预览、验证或“让这个可部署”,请在生成部署计划/制品后停止,在运行预配资源的命令之前先询问。
如果用户明确要求立即部署,请继续执行预检和部署,但在预配之前仍需说明任何目标选择、订阅/资源组的不明确之处或缺失的参数决策。

Keep Azure deployment Aspire-native

保持Azure部署为Aspire原生

The Azure deployment path in this skill is
aspire add <azure-target>
, AppHost environment configuration,
aspire publish
, and
aspire deploy
. Do not route Azure deployment work through a separate Azure deployment tool or generated infrastructure workflow.
此技能中的Azure部署路径是
aspire add <azure-target>
、AppHost环境配置、
aspire publish
和
aspire deploy
。不要将Azure部署工作路由到单独的Azure部署工具或生成的基础设施工作流。

Keep Aspire packages on one release family

保持Aspire包在同一发布系列中

Before publish or deploy, verify that
Aspire.AppHost.Sdk
and the hosting packages use compatible versions in the project's selected release family. Preview-only integrations need compatible preview builds selected by
aspire add
or integration docs. The CLI version does not make incompatible hosting packages safe; mixed graphs can fail at startup with
MissingMethodException
or
TypeLoadException
.
Migrate obsolete 13.5 surfaces while editing deployment code:
  • use
    .Services
    instead of hosting context
    .ServiceProvider
    ;
  • use
    AddConnectionString
    instead of
    PublishAsConnectionString
    ; and
  • migrate deprecated
    Aspire.Hosting.GitHub.Models
    resources to Azure AI Foundry.
在发布或部署之前,请验证
Aspire.AppHost.Sdk
和托管包在项目所选的发布系列中使用兼容的版本。仅预览版的集成需要由
aspire add
或集成文档选择的兼容预览版本。CLI版本不会使不兼容的托管包变得安全;混合依赖图可能会在启动时失败,出现
MissingMethodException
或
TypeLoadException
。
在编辑部署代码时,迁移已过时的13.5接口:
  • 使用
    .Services
    代替托管上下文的
    .ServiceProvider
    ;
  • 使用
    AddConnectionString
    代替
    PublishAsConnectionString
    ;
  • 将已弃用的
    Aspire.Hosting.GitHub.Models
    资源迁移到Azure AI Foundry。

Default workflow

默认工作流

  1. Orient to the Aspire workspace.
    • Start with
      aspire ls
      to list AppHosts in the current scope, then use
      aspire.config.json
      , AppHost project files, or
      aspire ps
      if more context is needed.
    • If no AppHost exists, stop deployment work and invoke the
      aspireify
      skill to initialize/wire the AppHost before continuing.
    • Identify C# vs TypeScript AppHost.
    • Prefer Aspire CLI commands for discovery and state inspection.
  2. Clarify or infer the deployment target.
    • If the user named Docker Compose, Kubernetes, Azure Container Apps, Azure App Service, Azure Kubernetes Service (AKS), or AWS, load that target reference without asking again.
    • If they only said "deploy", inspect existing AppHost target environment resources.
    • If exactly one target environment already exists, use it and state what was detected.
    • If multiple targets exist, none exists, or the user says only "Azure", ask where to deploy using the choices above.
  3. Load target and app-type references.
    • Docker Compose: references/docker-compose.md
    • Kubernetes and Azure Kubernetes Service (AKS): references/kubernetes.md
    • Azure Container Apps/App Service/Azure Kubernetes Service (AKS): references/azure.md
    • AWS: references/aws.md
    • Radius preview: use current Aspire docs and API search for
      Aspire.Hosting.Radius
      ; do not guess experimental API shapes.
    • JavaScript app resources: references/javascript.md
    • CI/CD or GitHub Actions automation: references/cicd.md
  4. Use Aspire docs search for current guidance.
    • Search and get the target deployment docs.
    • Search API docs before editing AppHost code.
  5. Apply the target code changes.
    • Run the target's
      aspire add ...
      command if the integration is missing.
    • Add the deployment environment resource to the AppHost.
    • Do not add explicit compute-environment assignment for the common single-environment case. Only disambiguate when the AppHost has multiple deployment environments. In C# this is usually
      WithComputeEnvironment(...)
      ; for TypeScript AppHosts, verify the current language-specific docs before assuming an equivalent.
    • Add only the target-specific customization APIs the deployment needs, such as endpoint exposure, Helm settings, Compose file customization, Azure site/container app customization, or AWS publish target overrides.
  6. Preflight the deployment model.
    • Confirm the target integration package exists in the AppHost.
    • Confirm the AppHost has the target environment resource.
    • Confirm compute resources are assigned to the target environment only when multiple compute environments exist. A single compute environment is the common case and can be inferred.
    • Inventory parameters, secrets, connection strings, external endpoints, container registries, and target-specific prerequisites.
    • For Azure or AWS, confirm auth, target account/subscription, region/location, and resource group/stack context.
  7. Preview before applying.
    • Run
      aspire publish --list-steps
      or
      aspire deploy --list-steps
      .
    • Use
      aspire publish -o <scratch-or-output-path>
      when artifact review is requested.
    • Treat published artifacts as a preview/handoff.
      aspire deploy
      resolves values and applies the deployment from the AppHost model; it does not consume a previously published output directory.
    • Summarize resources, endpoints, parameters, secrets, identities, and generated artifacts.
  8. Deploy or hand off.
    • Run
      aspire deploy
      when the user asked to deploy and preflight is complete.
    • Run a named step with
      aspire do <step>
      only when the user asked for a specific pipeline step.
    • For published artifacts, explain the target-native apply step.
  9. Destroy only when explicitly requested.
    • Run
      aspire destroy
      to execute the selected AppHost/environment's target destroy pipeline.
    • Confirm the AppHost, environment, target account/subscription/cluster, and destructive intent before running it.
    • Use
      --yes
      only when the user or CI workflow already made teardown intent explicit.
    • Prefer
      aspire destroy
      over target-native delete commands unless you are troubleshooting failed teardown or cleaning up unmanaged leftovers.
  10. Verify the outcome.
  • Use target output,
    aspire describe
    , cloud CLI, Docker Compose, kubectl, or endpoint checks appropriate to the target.
  • After destroy, verify target resources are removed or record any leftovers that require manual cleanup.
  1. 了解Aspire工作区。
    • 从
      aspire ls
      开始,列出当前范围内的AppHost,如果需要更多上下文,可以使用
      aspire.config.json
      、AppHost项目文件或
      aspire ps
      。
    • 如果不存在AppHost,请停止部署工作,并调用
      aspireify
      技能来初始化/连接AppHost,然后再继续。
    • 识别是C#还是TypeScript AppHost。
    • 优先使用Aspire CLI命令进行发现和状态检查。
  2. 明确或推断部署目标。
    • 如果用户指定了Docker Compose、Kubernetes、Azure Container Apps、Azure App Service、Azure Kubernetes Service (AKS)或AWS,直接加载该目标的参考文档,无需再次询问。
    • 如果他们只说“部署”,检查现有的AppHost目标环境资源。
    • 如果已经存在恰好一个目标环境,使用它并说明检测到的内容。
    • 如果存在多个目标、不存在目标,或者用户只说“Azure”,使用上述选项询问部署位置。
  3. 加载目标和应用类型参考文档。
    • Docker Compose:references/docker-compose.md
    • Kubernetes和Azure Kubernetes Service (AKS):references/kubernetes.md
    • Azure Container Apps/App Service/Azure Kubernetes Service (AKS):references/azure.md
    • AWS:references/aws.md
    • Radius预览版:使用当前Aspire文档和API搜索
      Aspire.Hosting.Radius
      ;不要猜测实验性API的形式。
    • JavaScript应用资源:references/javascript.md
    • CI/CD或GitHub Actions自动化:references/cicd.md
  4. 使用Aspire文档搜索获取最新指南。
    • 搜索并获取目标部署文档。
    • 在编辑AppHost代码之前搜索API文档。
  5. 应用目标代码更改。
    • 如果缺少集成,请运行目标的
      aspire add ...
      命令。
    • 将部署环境资源添加到AppHost。
    • 对于常见的单环境情况,不要添加显式的计算环境分配。仅当AppHost有多个部署环境时才进行区分。在C#中,这通常是
      WithComputeEnvironment(...)
      ;对于TypeScript AppHost,在假设存在等效项之前,请先查阅当前的特定语言文档。
    • 仅添加部署所需的特定于目标的自定义API,例如端点暴露、Helm设置、Compose文件自定义、Azure站点/容器应用自定义或AWS发布目标覆盖。
  6. 预检部署模型。
    • 确认目标集成包存在于AppHost中。
    • 确认AppHost具有目标环境资源。
    • 仅当存在多个计算环境时,才确认计算资源已分配给目标环境。单个计算环境是常见情况,可以推断。
    • 清点参数、密钥、连接字符串、外部端点、容器注册表和特定于目标的先决条件。
    • 对于Azure或AWS,确认身份验证、目标账户/订阅、区域/位置以及资源组/堆栈上下文。
  7. 应用前预览。
    • 运行
      aspire publish --list-steps
      或
      aspire deploy --list-steps
      。
    • 当要求审查制品时,使用
      aspire publish -o <临时或输出路径>
      。
    • 将已发布的制品视为预览/交接。
      aspire deploy
      会解析值并从AppHost模型应用部署;它不会使用之前发布的输出目录。
    • 总结资源、端点、参数、密钥、身份和生成的制品。
  8. 部署或交接。
    • 当用户要求部署且预检完成时,运行
      aspire deploy
      。
    • 仅当用户要求特定的管道步骤时,才使用
      aspire do <步骤>
      运行命名步骤。
    • 对于已发布的制品,说明目标原生的应用步骤。
  9. 仅在明确要求时销毁。
    • 运行
      aspire destroy
      以执行所选AppHost/环境的目标销毁管道。
    • 在运行之前,确认AppHost、环境、目标账户/订阅/集群以及销毁意图。
    • 仅当用户或CI工作流已经明确表示拆除意图时,才使用
      --yes
      。
    • 优先使用
      aspire destroy
      而不是目标原生的删除命令,除非你正在排查失败的拆除问题或清理非托管的遗留资源。
  10. 验证结果。
    • 使用适合目标的输出、
      aspire describe
      、云CLI、Docker Compose、kubectl或端点检查。
    • 销毁后,验证目标资源已被移除,或记录任何需要手动清理的遗留资源。

AppHost target detection

AppHost目标检测

Search the AppHost for deployment environment resources:
TargetAspire add commandIntegrationAppHost environment concept
Docker Compose
aspire add docker
Docker hostingDocker Compose environment
Kubernetes
aspire add kubernetes
Kubernetes hostingKubernetes environment
Azure Container Apps
aspire add azure-appcontainers
Azure Container Apps hostingAzure Container Apps environment
Azure App Service
aspire add azure-appservice
Azure App Service hostingAzure App Service environment
Azure Kubernetes Service (AKS)
aspire add azure-kubernetes
Azure Kubernetes hostingAzure Kubernetes Service (AKS) environment
AWS
aspire add aws
AWS hostingAWS CDK environment
Radius (preview)Discover with
aspire integration search radius
Aspire.Hosting.Radius
Radius environment
Use this table only for orientation. Before editing code, verify the current API in Aspire docs for the AppHost language.
在AppHost中搜索部署环境资源:
目标Aspire add命令集成AppHost环境概念
Docker Compose
aspire add docker
Docker托管Docker Compose环境
Kubernetes
aspire add kubernetes
Kubernetes托管Kubernetes环境
Azure Container Apps
aspire add azure-appcontainers
Azure Container Apps托管Azure Container Apps环境
Azure App Service
aspire add azure-appservice
Azure App Service托管Azure App Service环境
Azure Kubernetes Service (AKS)
aspire add azure-kubernetes
Azure Kubernetes托管Azure Kubernetes Service (AKS)环境
AWS
aspire add aws
AWS托管AWS CDK环境
Radius(预览版)使用
aspire integration search radius
发现
Aspire.Hosting.Radius
Radius环境
此表仅用于参考。在编辑代码之前,请在Aspire文档中验证AppHost语言对应的当前API。

Parameter and secret preflight

参数和密钥预检

Parameters are deployment inputs. They may be supplied by configuration files, user secrets, environment variables, command-line args, interactive prompts, or CI/CD secret stores depending on the target and command.
Before deployment, report:
  • Parameter name from AppHost parameter APIs, including config-backed parameters
  • Whether it is secret
  • Expected provider syntax such as
    Parameters__name
    ; for parameter names with dashes, use underscores in environment variables, for example
    registry-endpoint
    becomes
    Parameters__registry_endpoint
  • Where it flows, such as a project environment variable, connection string, Key Vault secret, Helm Secret, Compose
    .env
    , or Azure app setting
  • Whether a value appears configured or missing
Use
aspire secret list
for AppHost user secrets when appropriate, but do not print secret values. For deployment artifacts, inspect generated placeholders and mappings, not raw secret content.
参数是部署输入。根据目标和命令的不同,它们可以由配置文件、用户密钥、环境变量、命令行参数、交互式提示或CI/CD密钥存储提供。
部署前,请报告:
  • 来自AppHost参数API的参数名称,包括配置支持的参数
  • 是否为密钥
  • 预期的提供程序语法,如
    Parameters__name
    ;对于带连字符的参数名,在环境变量中使用下划线,例如
    registry-endpoint
    变为
    Parameters__registry_endpoint
  • 它的流向,例如项目环境变量、连接字符串、Key Vault密钥、Helm Secret、Compose
    .env
    或Azure应用设置
  • 值是否已配置或缺失
适当时使用
aspire secret list
查看AppHost用户密钥,但不要打印密钥值。对于部署制品,请检查生成的占位符和映射,而不是原始密钥内容。

Target references

目标参考

  • references/docker-compose.md - Docker Compose target, generated files, environment variables, cleanup.
  • references/kubernetes.md - Kubernetes and Azure Kubernetes Service (AKS) target selection, Helm output, registry requirements, kubectl/Helm checks.
  • references/azure.md - Azure target selection, Azure settings, Container Apps, App Service, and Azure Kubernetes Service (AKS).
  • references/aws.md - AWS target selection, AWS CDK prerequisites, publish/deploy workflow, and AWS integration docs.
  • references/javascript.md - JavaScript app deployment models, including Vite/static assets, Node/SSR servers, Next.js, and gateway/backend serving patterns.
  • references/cicd.md - CI/CD and GitHub Actions workflow guidance for Aspire publish/deploy, parameters, secrets, registry auth, and cloud auth.
  • references/preflight.md - Common preflight, preview, parameter, destroy, and validation checklist.
  • aspire-13-5-breaking-changes.md - 13.5 package, API, and CLI migration rules.
  • references/docker-compose.md - Docker Compose目标、生成的文件、环境变量、清理。
  • references/kubernetes.md - Kubernetes和Azure Kubernetes Service (AKS)目标选择、Helm输出、注册表要求、kubectl/Helm检查。
  • references/azure.md - Azure目标选择、Azure设置、Container Apps、App Service和Azure Kubernetes Service (AKS)。
  • references/aws.md - AWS目标选择、AWS CDK先决条件、发布/部署工作流和AWS集成文档。
  • references/javascript.md - JavaScript应用部署模型,包括Vite/静态资源、Node/SSR服务器、Next.js和网关/后端服务模式。
  • references/cicd.md - 用于Aspire发布/部署、参数、密钥、注册表身份验证和云身份验证的CI/CD和GitHub Actions工作流指南。
  • references/preflight.md - 通用预检、预览、参数、销毁和验证清单。
  • aspire-13-5-breaking-changes.md - 13.5包、API和CLI迁移规则。

Agent execution

Agent执行

When running unattended (CI, scripted, agent-driven), append
--non-interactive
to every Aspire CLI invocation that may prompt — most importantly
aspire publish
,
aspire deploy
, and
aspire destroy
. For
aspire destroy
, also pass
--yes
only after the user has explicitly confirmed teardown intent (or a CI workflow already encodes that intent).
Prefer surfacing prompt-driving values up front (target subscription/region/resource group, parameters, secrets, registry credentials) so the unattended run does not stall. See references/preflight.md for the full preflight checklist.
在无人值守运行时(CI、脚本化、Agent驱动),向每个可能提示的Aspire CLI调用追加
--non-interactive
——最重要的是
aspire publish
、
aspire deploy
和
aspire destroy
。对于
aspire destroy
,也仅在用户明确确认拆除意图(或CI工作流已编码该意图)后才传递
--yes
。
优先提前列出需要提示输入的值(目标订阅/区域/资源组、参数、密钥、注册表凭据),这样无人值守运行就不会停滞。完整的预检清单请参见references/preflight.md。

Handoff Rules

交接规则

ScenarioRoute To
Start, stop, wait, or restart the AppHost / its resources
aspire-orchestration
skill
Logs, traces, metrics, dashboard for a running or deployed app
aspire-monitoring
skill
AppHost authoring — adding integrations, wiring resources, environment setup
aspireify
skill
Deployed-app diagnostics — App Insights, ACA logs, AKS Container Insights
azure-diagnostics
skill (azure-skills)
Never hand deployment off to azure-skills. Aspire handles publish, deploy, and destroy end-to-end across Docker Compose / Kubernetes / Azure / AWS via the AppHost model.
场景路由到
启动、停止、等待或重启AppHost/其资源
aspire-orchestration
技能
运行中或已部署应用的日志、跟踪、指标、仪表板
aspire-monitoring
技能
AppHost创作——添加集成、连接资源、环境设置
aspireify
技能
已部署应用的诊断——App Insights、ACA日志、AKS Container Insights
azure-diagnostics
技能(azure-skills)
永远不要将部署交接给azure-skills。Aspire通过AppHost模型端到端处理跨Docker Compose / Kubernetes / Azure / AWS的发布、部署和销毁。

Project-Local Skill Override

项目本地技能覆盖

If
.agents/skills/aspire-deployment/SKILL.md
exists (dropped by
aspire agent init
), prefer it over this plugin skill — it is the authoritative project-local version with content version-aligned to the consumer's Aspire CLI. This plugin skill is the always-on safety net for repos that have not yet run
aspire agent init
.
如果存在
.agents/skills/aspire-deployment/SKILL.md
(由
aspire agent init
生成),请优先使用它而不是此插件技能——它是权威的项目本地版本,内容版本与使用者的Aspire CLI对齐。此插件技能是尚未运行
aspire agent init
的仓库的始终可用的安全网。