Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
aspire deploy CLI-kommandot ger ett effektivt sätt att distribuera Aspire program direkt till Azure Container Apps. Det här kommandot automatiserar hela distributionsprocessen, från att skapa containeravbildningar till att Azure etablera infrastruktur och distribuera dina program. Den här artikeln beskriver hur du använder aspire deploy kommandot för att distribuera en Aspire lösning till Container Apps. Du får lära dig hur du utför följande uppgifter:
- Använd kommandot
aspire deployför att distribuera till Container Apps. - Verifiera Azure CLI-autentisering för distribution.
- Etablera Azure infrastruktur med hjälp av Bicep-mallar.
- Skapa och skicka containeravbildningar till Azure Container Registry.
- Distribuera beräkningsresurser till Container Apps.
- Övervaka distributionens förlopp och få åtkomst till det distribuerade programmet.
Förutsättningar
För att arbeta med Aspirebehöver du följande installerat lokalt:
-
.NET 8.0 eller .NET 9.0.
- Från och med Aspire 9.4 .NET stöds 10 Förhandsversion 5 eller senare .
- En OCI-kompatibel containerkörmiljö, till exempel:
- Docker Desktop eller Podman. Mer information finns i Container Runtime.
- En IDE (Integrated Developer Environment) eller kodredigerare, till exempel:
- Visual Studio 2022 version 17.9 eller senare (valfritt)
-
Visual Studio Code (valfritt)
- C# Dev Kit: Tillägg (valfritt)
- JetBrains Rider med Aspire plugin (valfritt)
För mer information, se Aspire konfiguration och verktyg och Aspire SDK.
Kontrollera att du har följande innan du använder aspire deploy kommandot:
- Azure CLI: Installerat och autentiserat med ditt Azure konto.
- Docker: Installerad för att skapa containeravbildningar.
- Azure prenumeration: Med lämpliga behörigheter för att skapa resurser.
Aktivera kommandot deploy
Kommandot aspire deploy är för närvarande i förhandsversion och inaktiverat som standard. För att aktivera den:
aspire config set features.deployCommandEnabled true
Autentisera med Azure
Innan du distribuerar måste du autentisera med Azure CLI. Kör följande kommando:
az login
Det här kommandot öppnar en webbläsare där du kan logga in med dina Azure autentiseringsuppgifter. Kommandot aspire deploy verifierar automatiskt DIN Azure CLI-autentisering innan du fortsätter med distributionen. Mer information finns i:
Skapa ett Aspire projekt
Som utgångspunkt förutsätter den här artikeln att du har skapat ett Aspire projekt från mallen Aspire Startprogram . Mer information finns i Snabbstart: Skapa ditt första Aspire projekt.
Om du vill konfigurera ditt projekt för Azure Container Apps distribution, lägg till en paketreferens till ditt AppHost-projekt som inkluderar NuGet-paketet `📦Aspire.Hosting.Azure.AppContainers.
<Project Sdk="Microsoft.NET.Sdk">
<Sdk Name="Aspire.AppHost.Sdk" Version="9.5.2" />
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<UserSecretsId>7b352f08-305b-4032-9a21-90deb02efc04</UserSecretsId>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Aspire.Hosting.AppHost" Version="9.5.2" />
<PackageReference Include="Aspire.Hosting.Azure.AppContainers" Version="9.5.2" />
</ItemGroup>
</Project>
I AppHost-projektets AppHost.cs-fil lägger du till containerappmiljön:
var builder = DistributedApplication.CreateBuilder(args);
// Add Azure Container Apps environment
var containerAppEnv = builder.AddAzureContainerAppEnvironment("aspire-env");
// Add your services
var cache = builder.AddRedis("cache");
var apiService = builder.AddProject<Projects.AspireApp_ApiService>("apiservice")
.WithExternalHttpEndpoints();
builder.AddProject<Projects.AspireApp_Web>("webfrontend")
.WithExternalHttpEndpoints()
.WithReference(cache)
.WithReference(apiService);
builder.Build().Run();
Mer information finns i Konfigurera Azure Container Apps miljöer.
Resursnamngivning
När du skapar nya Azure resurser är det viktigt att följa namngivningskraven. För Azure Container Appsmåste namnet vara 2–32 tecken långt och bestå av gemener, siffror och bindestreck. Namnet måste börja med en bokstav och sluta med ett alfanumeriskt tecken.
Mer information finns i Namngivningsregler och begränsningar för Azure resurser.
Distribuera med aspire-distribution
När projektet har konfigurerats distribuerar du det med kommandot aspire deploy :
aspire deploy
Tips/Råd
Kommandot aspire deploy är interaktivt som standard. Om du vill distribuera utan frågor anger du dessa miljövariabler först:
-
Azure__SubscriptionId: Målabonnemangets-ID Azure. -
Azure__Location: Azure region (till exempeleastus). -
Azure__ResourceGroup: Namn på resursgrupp som ska skapas eller återanvändas.
Du kan också ange ytterligare alternativ:
aspire deploy --project ./MyApp.AppHost/MyApp.AppHost.csproj
Utrullningsprocess
Kommandot aspire deploy utför följande steg automatiskt. Först verifierar kommandot att du är autentiserad med Azure CLI. Om du inte är inloggad visas ett felmeddelande där du uppmanas att köra az login.
Aspire Därefter uppmanas du att ange det Azure prenumerations-, plats- och resursgruppsnamn som distributionen ska riktas till. Vilka prenumerationer och platser som är tillgängliga beror på det konto som är autentiserat med AzureAzure CLI från steget ovan.
Aspire Därefter analyserar du programmodellen och frågar efter eventuella nödvändiga distributionsparametrar som inte har värden angivna. Du kommer att se uppmaningar som:
There are unresolved parameters that need to be set. Please provide values for them. [y/n] (n): y
Please provide values for the unresolved parameters. Parameters can be saved to user secrets for future use.
weatherApiKey:
Save to user secrets: [y/n] (n): n
Anmärkning
CLI frågar kontinuerligt tills alla olösta parametrar har tilldelats värden. När Azure distributionen är i förhandsversion uppmanas CLI att spara värden i användarhemligheter men inte använda dem, eftersom distributionstillståndet inte stöds.
När parametrarna har samlats in Azure etableras infrastrukturen med hjälp av Bicep-mallar. Det här steget skapar nödvändiga Azure resurser, inklusive Container Apps-miljön, Container Registry och eventuella säkerhetskopieringstjänster som Redis cacheminnen:
Step 3: Deploying Azure resources
✓ DONE: Deploying aca-env 00:01:08
Successfully provisioned aca-env
✓ DONE: Deploying storage 00:00:04
Successfully provisioned storage
✓ DONE: Deploying cosmosdb 00:01:08
Successfully provisioned cosmosdb
✓ DONE: Deploying apiservice-identity 00:00:03
Successfully provisioned apiservice-identity
✓ DONE: Deploying apiservice-roles-storage 00:00:11
Successfully provisioned apiservice-roles-storage
✓ DONE: Deploying apiservice-roles-cosmosdb 00:01:10
Successfully provisioned apiservice-roles-cosmosdb
Efter infrastrukturetablering skapas dina programprojekt som containeravbildningar och skickas till Azure Container Registry.
Step 4: Building container images for resources
✓ DONE: Checking Docker health 00:00:00
Docker is healthy.
✓ DONE: Building image: apiservice 00:00:04
Building image for apiservice completed
✓ DONE: Building image: webfrontend 00:00:05
Building image for webfrontend completed
✅ COMPLETED: Building container images completed
Step 5: Authenticating to container registries
✓ DONE: Logging in to acrname 00:00:08
Successfully logged in to acrname
✅ COMPLETED: Successfully authenticated to 1 container registries
Step 6: Pushing 2 images to container registries
✓ DONE: Pushing apiservice to acrname 00:00:04
Successfully pushed apiservice to acrname.azurecr.io/apiservice:aspire-deploy-20250922203320
✓ DONE: Pushing webfrontend to acrname 00:00:04
Successfully pushed webfrontend to acrname.azurecr.io/webfrontend:aspire-deploy-20250922203320
✅ COMPLETED: Successfully pushed 2 images to container registries
Slutligen skickas alla .NET projekt som har skapats som containeravbildningar från föregående steg till det etablerade Azure containerregistret , där de kommer att finnas, vilket gör dem tillgängliga för Container Apps:
Step 7: Deploying compute resources
✓ DONE: Deploying apiservice 00:00:35
Successfully deployed apiservice to https://apiservice.proudplant-5c457a5d.westus2.azurecontainerapps.io
✓ DONE: Deploying webfrontend 00:00:19
Successfully deployed webfrontend to https://webfrontend.proudplant-5c457a5d.westus2.azurecontainerapps.io
✅ COMPLETED: Successfully deployed 2 compute resources
När distributionen är klar visas Aspire instrumentpanelens URL där du kan övervaka och hantera ditt distribuerade program:
✅ Deployment completed successfully. View Aspire dashboard at https://aspire-env.proudwater-12345678.eastus.azurecontainerapps.io
Mer information om vilka alternativ som är tillgängliga för aspire deploy kommandot och exempel på hur du anger dem i CLI finns i kommandoreferensenaspire deploy.
Övervaka distribution
Under distributionen kan du övervaka förloppet genom att:
- Konsolutmatning: Realtidsförloppsuppdateringar och statusmeddelanden.
- Azure portal: Visa resurser som skapas i resursgruppen.
-
Azure CLI: Används
az containerapp listför att se distribuerade program.
Felsöka utveckling
När du använder aspire deploy kommandot kan du stöta på olika problem under distributionen. Använd det här avsnittet om du vill lära dig vanliga problem och vi ger dig tips för felsökning som hjälper dig att snabbt identifiera och åtgärda fel. Med rätt metod och förståelse för vanliga problem kan du säkerställa en smidigare distributionsprocess.
Autentiseringsproblem
Om du får autentiseringsfel:
❌ Azure CLI authentication failed. Please run 'az login' to authenticate before deploying.
Kör az login och se till att du har de behörigheter som krävs i din Azure prenumeration. Mer information finns i Logga in med Azure CLI.
Namnkonflikter för resurser
Om resursnamnen är i konflikt med befintliga Azure resurser ändrar du resursnamnen i AppHost:
var containerAppEnv = builder.AddAzureContainerAppEnvironment(
"my-unique-env-name"
);
Fel vid containerbygge
Om containerbyggen misslyckas, kontrollera att följande:
- Docker körs och är tillgänglig.
- Projektet byggs framgångsrikt lokalt:
dotnet build. - Container-runtime är korrekt konfigurerad.
Få åtkomst till ditt distribuerade program
Efter en lyckad distribution:
Aspire Instrumentpanel: Få åtkomst till instrumentpanelens URL som anges i distributionsutdata.
Programslutpunkter: Hitta dina program-URL:er i portalen Azure under Container Apps.
Azure CLI: Lista slutpunkter med hjälp av:
az containerapp show --name <app-name> --resource-group <resource-group> --query properties.configuration.ingress.fqdn
Rensa resurser
Ta bort distribuerade resurser genom att ta bort resursgruppen:
az group delete --name <resource-group-name>