Esercitazione: Implementare un progetto di .NET Aspire usando il Azure Developer CLI
Il Azure Developer CLI (azd
) consente di distribuire progetti .NET Aspire usando GitHub Azioni o Azure pipeline Devops configurando automaticamente le impostazioni di autenticazione e ambiente necessarie. Questo articolo illustra il processo di creazione e distribuzione di un progetto di .NET Aspire in Azure Container Apps usando azd
. Si apprenderà i concetti seguenti:
- Informazioni sul funzionamento dell'integrazione
azd
con i progetti di .NET.NET Aspire - Creare e configurare un repository GitHub o Azure DevOps per un progetto di .NET Aspire usando
azd
- Monitorare ed esplorare il workflow delle Azioni GitHub o le esecuzioni della pipeline DevOps Azure e le distribuzioni di Azure
Prerequisiti
Per usare .NET.NET Aspire, è necessario che il codice seguente sia installato in locale:
- .NET 8.0 o .NET 9.0
- Un ambiente di esecuzione del contenitore conforme a OCI, ad esempio:
- Docker Desktop o Podman. Per ulteriori informazioni, vedere Ambiente di esecuzione del container.
- Un ambiente di sviluppo integrato (IDE) o un editor di codice, ad esempio:
- Visual Studio 2022 Versione 17.9 o successiva (facoltativo)
-
Visual Studio Code (facoltativo)
- C# Dev Kit: Estensione (facoltativo)
- JetBrains Rider con .NET.NET Aspire plugin (facoltativo)
Per altre informazioni, vedere .NET.NET Aspire configurazione e strumentie .NET.NET Aspire SDK.
- Creare un'organizzazione Azure DevOps o scegliere un'organizzazione esistente
-
Azure PAT (Token personale di accesso DevOps) e salvarlo per un uso futuro. Configurare il token con le autorizzazioni seguenti:
- Pool di agenti (lettura, gestione)
- Compilazione (lettura ed esecuzione)
- Codice (completo)
- Progetto e team (leggere, scrivere e gestire)
- Versione (lettura, scrittura, esecuzione e gestione)
- Connessioni al servizio (lettura, interrogazione e gestione)
È anche necessario che il Azure Developer CLIsia installato in locale (versione 1.5.1 o successiva). Le opzioni di installazione comuni includono quanto segue:
Creare una soluzione .NET.NET Aspire
Come punto di partenza, questo articolo presuppone che tu abbia creato una soluzione .NET.NET Aspire dal modello .NET.NET Aspire Starter Application. Per ulteriori informazioni, vedere Avvio rapido: Sviluppare la prima applicazione .NET.NET Aspire.
Inizializzare il modello
Aprire una nuova finestra del terminale ed eseguire il comando
cd
nella directory della soluzione .NET.NET Aspire.Eseguire il comando
azd init
per inizializzare il progetto conazd
, che esamina la struttura di directory locale e determina il tipo di app.azd init
Per altre informazioni sul comando
azd init
, vedere azd init.Selezionare Usa codice nella directory corrente quando
azd
richiede due opzioni di inizializzazione dell'app.? How do you want to initialize your app? [Use arrows to move, type to filter] > Use code in the current directory Select a template
Dopo aver eseguito l'analisi della directory,
azd
ti chiede di confermare che abbia trovato il progetto corretto AppHost .NET.NET Aspire. Selezionare l'opzione Conferma e continuare a inizializzare l'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
Immettere un nome di ambiente, che viene utilizzato per nominare le risorse fornite in Azure e per gestire diversi ambienti, come
dev
eprod
.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
genera un numero di file e li inserisce nella directory di lavoro. Questi file sono:
- azure.yaml: descrive i servizi dell'app, come il progetto .NET Aspire AppHost, e li associa alle risorse Azure.
-
.azure/config.json: file di configurazione che informa
azd
qual è l'ambiente attivo corrente. - .azure/aspireazddev/.env: contiene sostituzioni specifiche dell'ambiente.
Creare il repository e la pipeline di GitHub
Il Azure Developer CLI abilita automaticamente la creazione di pipeline CI/CD con le configurazioni e le autorizzazioni corrette per il provisioning e la distribuzione di risorse a Azure.
azd
può anche creare un repository GitHub per la tua app, se non esiste già.
Eseguire il comando
azd pipeline config
per configurare la pipeline di distribuzione e connetterla in modo sicuro a Azure:azd pipeline config
Selezionare la sottoscrizione alla quale effettuare il provisioning e distribuire le risorse dell'app.
Selezionare l'ubicazione Azure da usare per le risorse.
Quando viene richiesto se creare un nuovo repository di Git nella directory, immettere y e premere INVIO.
Nota
La creazione di un repository di GitHub richiede l'accesso a GitHub. Esistono alcune selezioni che variano in base alle preferenze. Dopo l'accesso, verrà richiesto di creare un nuovo repository nella directory corrente.
Seleziona Crea un nuovo repository GitHub privato per configurare il remoto git.
Immettere un nome di propria scelta per il nuovo repository GitHub o premere INVIO per usare il nome predefinito.
azd
crea un nuovo repository in GitHub e lo configura con i segreti necessari per l'autenticazione per Azure.Immettere e per procedere quando
azd
chiede di eseguire il commit e il push delle modifiche locali per avviare la pipeline configurata.
Esplora il workflow e la distribuzione delle GitHub Actions
Vai al nuovo repository GitHub tramite il link fornito da
azd
.Selezionare la scheda Actions per visualizzare i flussi di lavoro del repository. Verrà visualizzato il nuovo flusso di lavoro in esecuzione o già completato. Selezionare il flusso di lavoro per visualizzare i passaggi e i dettagli del processo nei log dell'esecuzione. Ad esempio, è possibile espandere passaggi come Installare .NET.NET Aspire Workload o Distribuire l'applicazione per visualizzare i dettagli delle azioni completate.
Selezionare Deploy Application per espandere i log di quel passaggio. Dovresti vedere due URL endpoint stampati per il
apiservice
e ilwebfrontend
. Selezionare uno di questi collegamenti per aprirli in un'altra scheda del browser ed esplorare l'applicazione distribuita.
Felicitazioni! Hai distribuito correttamente un progetto di .NET Aspire usando le azioni Azure Developer CLI e GitHub.
Creare il repository e la pipeline di Azure DevOps
Importante
Come indicato nei prerequisiti, è necessario creare un'organizzazione Azure DevOps o selezionare un'organizzazione esistente per completare i passaggi successivi. Sarà anche necessario creare un token di accesso personale (PAT) con le autorizzazioni elencate nei prerequisiti.
Il Azure Developer CLI consente di creare automaticamente pipeline con le configurazioni e le autorizzazioni corrette per il provisioning e la distribuzione delle risorse in Azure.
azd
può anche creare un repository Azure Pipelines per la tua app, se non esiste già.
Eseguire il comando
azd pipeline config
per configurare la pipeline di distribuzione e connetterla in modo sicuro a Azure. Includere l'opzione--provider azdo
per usare le pipeline Azure invece della configurazione predefinita GitHub Actions.azd pipeline config --provider azdo
Selezionare la sottoscrizione alla quale effettuare il provisioning e distribuire le risorse dell'app.
Selezionare l'ubicazione Azure da usare per le risorse.
Incollare il token di accesso personale creato in precedenza.
Immettere il nome dell'Organizzazione DevOps Azure che avete creato o selezionato.
Quando viene richiesto di creare un nuovo repository nella directory corrente, immettere y e premere INVIO.
Quando viene richiesto di configurare git remote, selezionare Crea un nuovo progetto DevOps Azure.
Immettere un nome univoco di propria scelta per il nuovo repository, ad esempio
aspireazd
.azd
crea un nuovo repository in Azure Repos e lo configura con i segreti necessari per l'autenticazione per Azure.Immettere e per procedere quando
azd
chiede di eseguire il commit e il push delle modifiche locali per avviare la pipeline configurata.
Esplorare la pipeline e l'applicazione distribuita
Accedi alla tua nuova pipeline di Azure tramite il link di stato prodotto da
azd
.Selezionare l'esecuzione della pipeline completata per visualizzare il riepilogo.
Selezionare il link del lavoro nella parte inferiore della schermata per passare ai dettagli del lavoro.
La pagina dei dettagli del lavoro mostra lo stato di tutte le singole fasi. Selezionare Provision Infrastructure per visualizzare i log per tale fase, che illustrano in dettaglio tutti i passaggi di provisioning completati da
azd
. Nella parte inferiore dei log, prendere nota del messaggio di stato finale e del link al gruppo di risorse Azure che è stato appena provisionato.Selezionare il collegamento in fondo ai log di output del provisioning per navigare verso il nuovo gruppo di risorse Azure.
Nota
È anche possibile passare direttamente al nuovo gruppo di risorse cercandolo nel portale di Azure. Il nome del gruppo di risorse sarà il nome dell'ambiente specificato per
azd
preceduto darg-
.Selezionare l'app contenitore webfrontend che ospita la sezione pubblica del sito.
Sulla pagina dettagli del webfrontend, selezionare il link URL applicazione per aprire il tuo sito nel browser.
Importante
Se si verifica un errore 403 Forbidden
durante la visualizzazione del sito nel browser, assicurarsi che le impostazioni di accesso siano configurate correttamente. Nella pagina dell'app webfrontend
Felicitazioni! Il progetto .NET Aspire è stato distribuito con successo utilizzando le pipeline Azure Developer CLI e Azure.
Pulire le risorse
Esegui il seguente comando CLI di Azure per eliminare il gruppo di risorse quando non hai più bisogno delle risorse Azure create. L'eliminazione del gruppo di risorse comporta anche l'eliminazione delle risorse contenute all'interno di essa.
az group delete --name <your-resource-group-name>
Per altre informazioni, vedere Pulire le risorse in Azure.