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.
Questa esercitazione descrive come Azure e Azure DevOps supportano Node.js applicazioni creando una pipeline di Azure DevOps che distribuisce un'app Node.js nel servizio app Azure. Con Azure Pipelines sarà possibile distribuire automaticamente l'app Node.js e ridurre il rischio di errori e tempi di inattività con l'integrazione continua e il recapito continuo.
In questa esercitazione apprenderai a:
Prerequisiti
Prodotto | Requisiti |
---|---|
Azure DevOps | - Un progetto Azure DevOps. - La possibilità di eseguire pipeline su agenti ospitati da Microsoft. È possibile acquistare un incarico parallelo oppure richiedere un piano gratuito. - Conoscenza di base di YAML e Azure Pipelines. Per maggiori informazioni, vedere Creare la prima pipeline. Autorizzazioni - : - Per creare una pipeline, è necessario trovarsi nel gruppo Collaboratori e il gruppo deve avere l'autorizzazione Crea pipeline di compilazione impostata su Consenti. I membri del gruppo Project Administrators possono gestire le pipeline. - Per creare connessioni al servizio: è necessario disporre del ruolo di Administrator o Creator per le connessioni al servizio . |
GitHub | - Un account GitHub. - Una connessione al servizio GitHub per autorizzare Azure Pipelines. |
Azzurro | Una sottoscrizione di Azure. |
Prodotto | Requisiti |
---|---|
Azure DevOps | - Un progetto Azure DevOps. - Agente ospitato autonomamente. Per crearne uno, vedere la sezione su Agenti self-hosted. - Conoscenza di base di YAML e Azure Pipelines. Per maggiori informazioni, vedere Creare la prima pipeline. Autorizzazioni - : - Per creare una pipeline, è necessario trovarsi nel gruppo Collaboratori e il gruppo deve avere l'autorizzazione Crea pipeline di compilazione impostata su Consenti. I membri del gruppo Project Administrators possono gestire le pipeline. - Per creare connessioni al servizio: è necessario disporre del ruolo di Administrator o Creator per le connessioni al servizio . |
GitHub | - Un account GitHub. - Una connessione al servizio GitHub per autorizzare Azure Pipelines. |
Azzurro | Una sottoscrizione di Azure. |
Effettua un fork dell'applicazione di esempio
Per creare una copia tramite fork dell'applicazione di esempio, è necessario accedere a GitHub, passare al repository di esempio e creare un fork.
Passare a GitHub e accedere.
Passare al progetto di esempio Node.js.
Seleziona Fork.
Selezionare Creare fork per creare un fork nel repository.
Verificare di avere una versione del repository nell'account GitHub verificando il percorso dell’URL in un browser. L'URL deve essere
https://github.com/{GitHub User}/nodejs-docs-hello-world
.
Creare risorse del servizio app Azure
Usare l'interfaccia della riga di comando di Azure per aggiungere le risorse necessarie per distribuire ed eseguire un'istanza di servizio app. Si accederà all'interfaccia della riga di comando di Azure da Azure Cloud Shell.
Aprire il portale di Azure e accedere.
Scegliere Cloud Shell dal menu. Quando viene richiesto, selezionare l'esperienza Bash.
Nota
Cloud Shell richiede una risorsa di archiviazione di Azure per rendere persistenti i file creati in Cloud Shell. Alla prima apertura, Cloud Shell chiede di creare un gruppo di risorse, un account di archiviazione e una condivisione di File di Azure. Questa configurazione viene usata automaticamente per tutte le sessioni di Cloud Shell future.
Da Cloud Shell eseguire il comando az account list-locations seguente per elencare le aree disponibili nella sottoscrizione di Azure.
az account list-locations \ --query "[].{Name: name, DisplayName: displayName}" \ --output table
Scegli dalla colonna
Name
dell'output una regione vicina. Ad esempio, scegliereeastasia
owestus2
.Eseguire az configure per impostare l'area predefinita. Sostituire
<REGION>
con il nome dell'area scelta. Questo esempio impostawestus2
come area predefinita:az configure --defaults location=westus2
Generare un numero casuale per rendere univoci i nomi delle risorse. Il vantaggio di avere un valore univoco è che l'istanza di App Service non avrà conflitti di nomi con altri studenti che stanno completando questo tutorial.
resourceSuffix=$RANDOM
Creare nomi univoci globali per l'App Web di App Service, il gruppo di risorse e il piano di App Service.
webName="helloworld-nodejs-${resourceSuffix}" rgName='hello-world-nodejs-rg' planName='helloworld-nodejs-plan'
Eseguire il comando az group create seguente per creare un gruppo di risorse usando il nome definito in precedenza.
az group create --name $rgName
Eseguire il comando az appservice plan create seguente per creare un piano di servizio app usando il nome definito in precedenza.
az appservice plan create \ --name $planName \ --resource-group $rgName \ --sku B1 \ --is-linux
L'argomento
--sku
specifica il piano B1. Questo piano funziona sul livello Base. L'argomento--is-linux
specifica di usare i worker Linux.Importante
Se lo SKU B1 non è disponibile come parte della sottoscrizione di Azure, scegliere un piano diverso, ad esempio S1 (standard).
Eseguire il comando az webapp create seguente per creare l'istanza del Servizio app.
az webapp create \ --name $webName \ --resource-group $rgName \ --plan $planName \ --runtime "node|16-lts"
Eseguire il comando az webapp list seguente per elencare il nome host e lo stato dell'istanza del Servizio app.
az webapp list \ --resource-group $rgName \ --query "[].{hostName: defaultHostName, state: state}" \ --output table
Creare la pipeline da un modello
Questo processo genera un file di configurazione delle pipeline denominato azure-pipelines.yml, che si trova nella directory radice del repository Git.
Accedere al proprio account in dev.azure.com.
Selezionare + Nuovo progetto.
Verrà visualizzata la finestra di dialogo Crea nuovo progetto .
Creare un nuovo progetto con le impostazioni seguenti.
Campo Descrizione Nome progetto Immettere un nome, ad esempio nodejs-hello-world. Visibilità Decidere se si vuole che il progetto sia pubblico o privato. Avanzate>Controllo della versione selezionare Git. Passare al progetto nodejs-hello-world.
Passare a Pipeline e quindi selezionare Crea pipeline.
Eseguire i passaggi della procedura guidata selezionando prima di tutto GitHub come posizione del codice sorgente.
Si potrebbe essere reindirizzati a GitHub per l'accesso. In questo caso, immettere le credenziali di GitHub.
Quando si vede l’elenco dei repository, selezionarne uno.
È possibile che si venga reindirizzati a GitHub per installare l'app Azure Pipelines. In tal caso, selezionare Approva e installa.
Nella scheda Seleziona selezionare il repository nodejs-docs-hello-world.
Nella scheda Configura selezionare Node.js Express Web App su Linux con Azure.
Quando richiesto:
- Selezionare la sottoscrizione di Azure da cui sono state create le risorse in precedenza.
- Selezionare Continua.
- Selezionare il nome dell'app creato in precedenza, ad esempio helloworld-nodejs-16353.
- Selezionare Convalida e configura.
Nella scheda Rivedi, esamina il codice per la configurazione della pipeline.
Seleziona Salva per salvare le modifiche.
Distribuire l'app Node.js nel servizio app Azure
Dopo aver eseguito la pipeline, il codice viene distribuito nel servizio app Azure. La pipeline viene configurata per l'esecuzione ogni volta che viene eseguito il commit di una modifica nel main
ramo.
Apportare una piccola modifica non significativa al file YAML della pipeline, ad esempio l'aggiunta di uno spazio. Selezionare di nuovo Salva ed Esegui per eseguire il commit delle modifiche git e attivare l'esecuzione della pipeline.
In Azure DevOps, vai su Pipelines>Pipelines e seleziona la tua pipeline.
Controllare l'esecuzione della pipeline e tracciarne la compilazione.
Dopo aver completato la compilazione, selezionare l'attività di distribuzione e selezionare l'URL per visualizzare il sito Web distribuito.
Passare all'URL del sito Web distribuito e verificare che il sito sia in esecuzione su App Service.
Pulire le risorse
Se non si intende continuare a usare questa applicazione, eliminare il gruppo di risorse in portale di Azure e il progetto in Azure DevOps seguendo questa procedura:
Per ripulire il tuo gruppo di risorse:
Aprire il portale di Azure e accedere.
Scegliere Cloud Shell dalla barra dei menu. Quando viene richiesto, selezionare l'esperienza Bash.
Eseguire il comando az group delete seguente per eliminare il gruppo di risorse usato,
hello-world-nodejs-rg
.az group delete --name hello-world-nodejs-rg
Per eliminare il progetto Azure DevOps, inclusa la pipeline di compilazione, vedere Eliminare il progetto.