Usare DevTest Labs nelle pipeline di compilazione e versione di Azure Pipelines
Questo articolo fornisce informazioni sull'uso di DevTest Labs nelle pipeline di compilazione e versione di 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.
Al termine della compilazione, la pipeline di versione userà gli artefatti di compilazione per distribuire la gestione temporanea o la produzione.
Uno dei locali necessari è che tutte le informazioni necessarie per ricreare l'ecosistema testato sono disponibili all'interno degli artefatti di compilazione, inclusa la configurazione delle risorse di Azure. Poiché le risorse di Azure comportano un costo quando usato, le aziende vogliono controllare o tenere traccia dell'uso di queste risorse. In alcune situazioni, i modelli di Azure Resource Manager 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 verifica una situazione interessante durante la creazione e il test di una compilazione. 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 modelli di azure Resource Manager 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 Azure DevTest Labs Ambiente con la configurazione corretta salva i modelli di Resource Manager all'interno degli artefatti di compilazione. Per questo esempio si usa il codice dell'esercitazione: Creare un'app Web .NET Core e database SQL in Servizio app di Azure, per distribuire e testare l'app Web in Azure.
Configurare le risorse di Azure
È necessario creare prima un paio di elementi:
- Due repository. Il primo con il codice dell'esercitazione e un modello di Resource Manager con altre due macchine virtuali. Il secondo conterrà il modello di base di 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. Archiviare il modello di Resource Manager nel repository di configurazione come azuredeploy.json con 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: Creare un'app Web .NET Core e database SQL in 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à Crea ambiente
Nell'attività Azure DevTest Labs Crea ambiente usare gli elenchi a discesa per selezionare i valori seguenti:
- La 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 immettono manualmente le informazioni, immettere gli ID risorsa di Azure completi. L'attività visualizza i nomi descrittivi anziché gli ID risorsa.
Il nome dell'ambiente è il nome visualizzato visualizzato in DevTest Labs. Deve essere un nome univoco per ogni compilazione. Ad esempio: TestEnv$(Build.BuildId).
È possibile specificare il file di parametri o i parametri per passare le informazioni nel modello di Resource Manager.
Selezionare l'opzione Crea variabili di output in base all'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.
Popolare l'attività dell'ambiente
La seconda attività (Azure DevTest Labs attività Popola 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 di Resource Manager per questo esempio ha due parametri: adminUserName e adminPassword.
servizio app'attività di distribuzione
La terza attività è l'attività Servizio app di Azure Distribuisci. Il tipo di app è impostato su App Web e il nome servizio app è impostato su $(WebSite).
Configurare la pipeline di versione
Si crea una pipeline di versione con due attività: Distribuzione di Azure: Creare o aggiornare il gruppo di risorse e Distribuire Servizio app di Azure.
Per la prima attività specificare il nome e la posizione del gruppo di risorse. Il percorso 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 di Azure, selezionare App Web come Tipo di app e $(Sito Web) per il nome servizio app. È possibile lasciare le impostazioni rimanenti con i valori predefiniti.
Esecuzione dei test
Ora che entrambe le pipeline sono configurate, accodano manualmente una compilazione e la vedono funzionare. 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: