Dela via


Självstudie: Distribuera ett .NET Aspire projekt med hjälp av Azure Developer CLI

Med Azure Developer CLI (azd) kan du distribuera .NET Aspire projekt med hjälp av GitHub Actions eller Azure Devops-pipelines genom att automatiskt konfigurera nödvändiga autentiserings- och miljöinställningar. Den här artikeln beskriver hur du skapar och distribuerar ett .NET Aspire projekt på Azure Container Apps med hjälp av azd. Du lär dig följande begrepp:

  • Utforska hur azd integrering fungerar med .NET.NET Aspire projekt
  • Skapa och konfigurera en GitHub- eller Azure DevOps-lagringsplats för ett .NET Aspire projekt med hjälp av azd
  • Övervaka och utforska arbetsflödet för GitHub Actions eller Azure DevOps-pipelinekörningar och Azure distributioner

Förutsättningar

Om du vill arbeta med .NET.NET Aspirebehöver du följande installerat lokalt:

Mer information finns i .NET.NET Aspire installation och verktygoch .NET.NET Aspire SDK.

  • Skapa en Azure DevOps-organisation eller välj en befintlig organisation
  • Skapa en Azure DevOps Personlig åtkomsttoken (PAT) och spara den för senare användning. Konfigurera token med följande behörigheter:
    • Agentgrupper (läsa, hantera)
    • Skapa (läsa och köra)
    • Kod (fullständig)
    • Projekt och team (läsa, skriva och hantera)
    • Frisläpp (läsa, skriva, exekvera och hantera)
    • Tjänstanslutningar (läsa, fråga och hantera)

Du måste också ha Azure Developer CLIinstallerat lokalt (version 1.5.1 eller senare). Vanliga installationsalternativ är följande:

winget install microsoft.azd

Skapa en .NET.NET Aspire lösning

Som utgångspunkt förutsätter den här artikeln att du har skapat en .NET.NET Aspire lösning från mallen .NET.NET Aspire Starter Application. Mer information finns i Snabbstart: Skapa din första .NET.NET Aspire app.

Initiera mallen

  1. Öppna ett nytt terminalfönster och cd i katalogen för din .NET.NET Aspire lösning.

  2. Kör kommandot azd init för att initiera projektet med azd, som kommer att granska den lokala katalogstrukturen och fastställa typen av app.

    azd init
    

    Mer information om kommandot azd init finns i azd init.

  3. Välj Använd kod i den aktuella katalogen när azd uppmanar dig med två alternativ för appinitiering.

    ? How do you want to initialize your app?  [Use arrows to move, type to filter]
    > Use code in the current directory
      Select a template
    
  4. När du har genomsökt katalogen uppmanar azd dig att bekräfta att den hittade rätt .NET.NET AspireAppHost- projekt. Välj alternativet Bekräfta och fortsätt initiera min app.

    Detected services:
    
      .NET (Aspire)
      Detected in: D:\source\repos\AspireSample\AspireSample.AppHost\AspireSample.AppHost.csproj
    
    azd will generate the files necessary to host your app on Azure using Azure Container Apps.
    
    ? Select an option  [Use arrows to move, type to filter]
    > Confirm and continue initializing my app
      Cancel and exit
    
  5. Ange ett miljönamn som används för att namnge etablerade resurser i Azure och hantera olika miljöer, till exempel dev och prod.

    Generating files to run your app on Azure:
    
      (✓) Done: Generating ./azure.yaml
      (✓) Done: Generating ./next-steps.md
    
    SUCCESS: Your app is ready for the cloud!
    You can provision and deploy your app to Azure by running the azd up command in this directory. For more information on configuring your app, see ./next-steps.md
    

azd genererar ett antal filer och placerar dem i arbetskatalogen. Dessa filer är:

  • azure.yaml: Beskriver tjänsterna i appen, till exempel .NET Aspire AppHost-projekt, och mappar dem till Azure resurser.
  • .azure/config.json: Konfigurationsfil som informerar azd vad den aktuella aktiva miljön är.
  • .azure/aspireazddev/.env: Innehåller miljöspecifika åsidosättningar.

Skapa GitHub lagringsplats och pipeline

Med Azure Developer CLI kan du automatiskt skapa CI/CD-pipelines med rätt konfigurationer och behörigheter för att etablera och distribuera resurser till Azure. azd kan också skapa en GitHub lagringsplats för din app om den inte redan finns.

  1. Kör kommandot azd pipeline config för att konfigurera distributionspipelinen och anslut den på ett säkert sätt till Azure:

    azd pipeline config
    
  2. Välj den prenumeration som appresurserna ska etableras och distribueras till.

  3. Välj platsen Azure som ska användas för resurserna.

  4. När du tillfrågas om du vill skapa en ny Git lagringsplats i katalogen anger du y och trycker på Retur.

    Not

    När du skapade en GitHub lagringsplats måste du vara inloggad på GitHub. Det finns några val som varierar beroende på dina inställningar. När du har loggat in uppmanas du att skapa en ny lagringsplats i den aktuella katalogen.

  5. Välj Skapa en ny privat GitHub lagringsplats för att konfigurera git-fjärren.

  6. Ange ett valfritt namn för den nya GitHub lagringsplatsen eller tryck på Retur för att använda standardnamnet. azd skapar en ny lagringsplats i GitHub och konfigurerar den med de hemligheter som krävs för att autentisera för att Azure.

    En skärmbild som visar konfigurationsstegen för pipelinen.

  7. Ange y för att fortsätta när azd uppmanar dig att checka in och push-överföra dina lokala ändringar för att starta den konfigurerade pipelinen.

Utforska arbetsflödet och distributionen av GitHub Actions

  1. Gå till ditt nya GitHub-lager med länken som genereras av azd.

  2. Välj fliken Åtgärder för att visa lagringsplatsens arbetsflöden. Du bör se att det nya arbetsflödet antingen körs eller redan har slutförts. Välj arbetsflödet för att visa jobbstegen och informationen i loggarna för körningen. Du kan till exempel expandera steg som Installera .NET.NET Aspire arbetsbelastning eller Distribuera program för att se information om den slutförda åtgärden.

    En skärmbild som visar arbetsflödesstegen för GitHub Åtgärd.

  3. Välj Implementera applikation för att expandera loggarna för det steget. Du bör se två slutpunkts-URL:er utskrivna för apiservice och webfrontend. Välj någon av dessa länkar för att öppna dem på en annan webbläsarflik och utforska det distribuerade programmet.

    En skärmbild som visar de distribuerade applänkarna.

Grattis! Du har framgångsrikt distribuerat ett .NET Aspire-projekt med hjälp av Azure Developer CLI och GitHub åtgärder.

Skapa Azure DevOps-repository och pipeline

Viktig

Som du nämnde i förhandskraven måste du skapa en Azure DevOps-organisation eller välja en befintlig organisation för att slutföra stegen framåt. Du måste också skapa en personlig åtkomsttoken (PAT) med de behörigheter som anges i förhandskraven.

Med Azure Developer CLI kan du automatiskt skapa pipelines med rätt konfigurationer och behörigheter för att etablera och distribuera resurser till Azure. azd kan också skapa en Azure Pipelines-lagringsplats för din app om den inte redan finns.

  1. Kör kommandot azd pipeline config för att konfigurera distributionspipelinen och ansluta den på ett säkert sätt till Azure. Inkludera alternativet --provider azdo att använda Azure Pipelines i stället för standardkonfigurationen GitHub Actions.

    azd pipeline config --provider azdo
    
  2. Välj den prenumeration som appresurserna ska etableras och distribueras till.

  3. Välj platsen Azure som ska användas för resurserna.

  4. Klistra in den personliga åtkomsttoken som du skapade tidigare.

  5. Ange det Azure DevOps-organisationsnamn som du skapade eller valde.

  6. När du uppmanas att skapa en ny lagringsplats i den aktuella katalogen anger du och och trycker på Enter.

  7. När du uppmanas att konfigurera git-fjärr, välj Skapa ett nytt Azure DevOps-projekt.

  8. Ange ett unikt namn som du väljer för den nya lagringsplatsen, till exempel aspireazd. azd skapar en ny lagringsplats i Azure Repos och konfigurerar den med nödvändiga hemligheter som krävs för att autentisera till Azure.

    En skärmbild som visar konfigurationsstegen för pipelinen.

  9. Ange y för att fortsätta när azd uppmanar dig att checka in och push-överföra dina lokala ändringar för att starta den konfigurerade pipelinen.

Utforska pipelinen och den implementerade appen

  1. Navigera till din nya Azure-pipeline genom att använda statuslänken som skapades av azd.

    En skärmbild som visar den lyckade körningen av Azure Pipelines.

  2. Välj den slutförda pipelinekörningen för att visa sammanfattningen.

    En skärmbild som visar sammanfattningsvyn för körningen av Azure Pipelines.

  3. Välj jobblänken längst ned i vyn för att gå till jobbinformationen.

    En skärmbild som visar den detaljerade vyn över körningen av Azure Pipelines.

  4. På sidan med jobbinformation visas status för alla enskilda faser. Välj Etablera infrastruktur för att visa loggarna för den fasen, som beskriver alla etableringssteg som slutförts av azd. Längst ned i loggarna noterar du det slutliga statusmeddelandet och länkar till den etablerade Azure resursgruppen.

  5. Välj länken längst ned i utdata från provisioneringen för att navigera till den nya Azure resursgrupp.

    En skärmbild som visar de distribuerade Azure resurserna.

    Not

    Du kan också navigera direkt till den nya resursgruppen genom att söka efter den i Azure-portalen. Resursgruppens namn kommer att vara det miljönamn du angav för azd med prefixet rg-.

  6. Välj webfrontend containerapp, som är värd för den offentliga delen av webbplatsen.

  7. På sidan webfrontend information väljer du länken program-URL för att öppna webbplatsen i webbläsaren.

Viktig

Om du får ett 403 Forbidden fel när du visar webbplatsen i webbläsaren kontrollerar du att ingressinställningarna är korrekt konfigurerade. På sidan webfrontend app i Azure Portal går du till Ingress på den vänstra navigeringspanelen. Kontrollera att inkommande trafik är inställd på acceptera trafik från vilken plats som helst och spara ändringarna.

Grattis! Du har framgångsrikt distribuerat ett .NET Aspire-projekt med hjälp av Azure Developer CLI- och Azure-pipelines.

Rensa resurser

Kör följande Azure CLI-kommando för att ta bort resursgruppen när du inte längre behöver de Azure resurser som du skapade. Om du tar bort resursgruppen tas även de resurser som ingår i den bort.

az group delete --name <your-resource-group-name>

Mer information finns i Rensa resurser i Azure.