Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo fornisce informazioni sull'uso di DevTest Labs nelle pipeline di compilazione e versione Azure Pipelines.
Flusso complessivo
Il flusso di base consiste nell'avere una pipeline di compilazione che esegue le attività seguenti:
- Compilare il codice dell'applicazione.
- Creare l'ambiente di base in DevTest Labs.
- Aggiornare l'ambiente con informazioni personalizzate.
- Distribuire l'applicazione nell'ambiente DevTest Labs
- Testare il codice.
Una volta completata correttamente la compilazione, la pipeline di rilascio utilizzerà gli artefatti di compilazione per distribuire nell'ambiente di staging o di produzione.
Uno dei presupposti necessari è che tutte le informazioni necessarie per ricreare l'ecosistema testato siano disponibili all'interno degli artefatti di compilazione, inclusa la configurazione delle risorse di Azure. Poiché le risorse di Azure generano costi quando vengono utilizzate, le aziende desiderano controllare o monitorare l'utilizzo di tali risorse. In alcune situazioni, Azure Resource Manager modelli usati per creare e configurare le risorse possono essere gestiti da un altro reparto, ad esempio IT. E questi modelli potrebbero essere archiviati in un repository diverso. Si crea una situazione interessante durante la creazione e il test di una build. Sia il codice che la configurazione devono essere archiviati all'interno degli artefatti di compilazione per ricreare il sistema nell'ambiente di produzione.
Usando DevTest Labs durante la fase di compilazione e test, è possibile aggiungere Azure Resource Manager modelli e file di supporto alle origini di compilazione. Durante la fase di rilascio si distribuisce la configurazione esatta usata nel test nell'ambiente di produzione. L'attività Crea ambiente Azure DevTest Labs, con la configurazione corretta, salva i modelli di Azure Resource Manager negli artefatti di compilazione. Per questo esempio si usa il codice dell'esercitazione: Creare un'app Web di database SQL e core .NET in Servizio app di Azure, per distribuire e testare l'app Web in Azure.
Configurare le risorse di Azure
È necessario creare in anticipo un paio di elementi:
- Due repository. La prima con il codice dell'esercitazione e un modello di Resource Manager con altre due macchine virtuali. Il secondo conterrà il modello di base Azure Resource Manager (configurazione esistente).
- Gruppo di risorse per la distribuzione del codice e della configurazione di produzione.
- Un lab con una connessione al repository di configurazione per la pipeline di compilazione. Archivia nel repository di configurazione il modello di Resource Manager come azuredeploy.json, insieme a metadata.json. Questo nome consente a DevTest Labs di riconoscere e distribuire il modello.
La pipeline di compilazione crea un ambiente DevTest Labs e distribuisce il codice per il test.
Configurare una pipeline di compilazione
In Azure Pipelines, creare una pipeline di compilazione usando il codice dell'esercitazione: Compilare un'app web .NET Core e database SQL nel Servizio app di Azure. Usare il modello di ASP.NET Core, che popola l'attività necessaria per compilare, testare e pubblicare il codice.
Aggiungere altre tre attività per creare l'ambiente in DevTest Labs e distribuirlo nell'ambiente.
Attività di creazione dell'ambiente
Nell'attività Crea ambiente Azure DevTest Labs usare gli elenchi a discesa per selezionare i valori seguenti:
- Sottoscrizione di Azure
- Nome del lab
- Nome del repository
- Nome del modello (che mostra la cartella in cui è archiviato l'ambiente).
È consigliabile usare elenchi a discesa nella pagina anziché immettere manualmente le informazioni. Se si inseriscono manualmente le informazioni, inserire ID risorsa di Azure completi. L'attività visualizza i nomi descrittivi anziché gli ID delle risorse.
Il nome dell'ambiente è il nome visualizzato in DevTest Labs. Deve essere un nome univoco per ogni compilazione. Ad esempio: TestEnv$(Build.BuildId).
È possibile specificare un file di parametri o parametri per passare informazioni nel modello di Resource Manager.
Selezionare l'opzione Crea variabili di output in base all'opzione di output del modello di ambiente e immettere un nome di riferimento. Per questo esempio, immettere BaseEnv come nome di riferimento. Questa classe BaseEnv viene usata durante la configurazione dell'attività successiva.
Attività Popola ambiente
La seconda attività (Azure DevTest Labs Popolamento dell'ambiente) consiste nell'aggiornare l'ambiente DevTest Labs esistente. L'attività Crea ambiente restituisce BaseEnv.environmentResourceId usato per configurare il nome dell'ambiente per questa attività. Il modello Resource Manager per questo esempio ha due parametri: adminUserName e adminPassword.
Attività di distribuzione di App Service
La terza attività è l'attività di distribuzione Servizio app di Azure. Il tipo di app è impostato su App Web e il nome del servizio app è impostato su $(WebSite).
Configura la pipeline di rilascio
Si crea una pipeline di versione con due attività: distribuzione Azure: Crea o aggiorna gruppo di risorse e Distribuisci Servizio app di Azure.
Per la prima attività specificare il nome e la posizione del gruppo di risorse. La posizione del modello è un artefatto collegato. Se il modello di Resource Manager include modelli collegati, è necessario implementare una distribuzione personalizzata del gruppo di risorse. Il modello si trova nell'artefatto di rilascio pubblicato. Eseguire l'override dei parametri del modello per il modello di Resource Manager. È possibile lasciare le impostazioni rimanenti con i valori predefiniti.
Per la seconda attività Distribuisci Servizio app di Azure, specificare la sottoscrizione Azure, selezionare App Web per tipo di app e $(WebSite) per il nome del servizio app. È possibile lasciare le impostazioni rimanenti con i valori predefiniti.
Esecuzione del test
Ora che entrambe le pipeline sono configurate, mettete manualmente in coda una compilazione e verificatene il funzionamento. Il passaggio successivo consiste nell'impostare il trigger appropriato per la compilazione e connettere la compilazione alla pipeline di versione.
Passaggi successivi
Vedere gli articoli seguenti: