Esercizio - Distribuire il codice in Servizio app

Completato

In questa unità si vedrà come distribuire l'applicazione Web in Servizio app.

Distribuire con ZIP Deploy

Si vedrà ora come distribuire l'applicazione .NET con ZIP Deploy.

Usare prima di tutto dotnet publish per compilare i file dell'app finale e zip per comprimerli in un file ZIP:

cd ~/BestBikeApp
dotnet publish -o pub
cd pub
zip -r site.zip *

Infine, eseguire la distribuzione con az webapp deployment source config-zip. Sostituire <your-app-name> nel comando seguente con il nome dell'app Web di Azure ed eseguirlo:

az webapp deployment source config-zip \
    --src site.zip \
    --resource-group <rgn>[sandbox resource group name]</rgn> \
    --name <your-app-name>

La distribuzione richiederà alcuni minuti, durante i quali verrà visualizzato l'output di stato. Un codice di stato 202 indica che la distribuzione ha avuto esito positivo.

Verificare la distribuzione

Passare all'applicazione. Tornare alla scheda del browser aperta contenente la pagina segnaposto e aggiornarla. Se la pagina segnaposto viene visualizzata di nuovo, l'istanza del servizio app non è ancora stata riavviata completamente, quindi attendere qualche istante e riprovare. Quando si esegue l'aggiornamento dopo il riavvio dell'app, verrà visualizzata la pagina iniziale per una nuova app Web ASP.NET Core.

Screenshot of welcome page.

L'hosting della nuova applicazione ASP.NET Core in Servizio app è stato completato.

Configurare le credenziali di distribuzione

Alcune tecniche di distribuzione di Servizio app, inclusa quella che verrà usata di seguito, richiedono un nome utente e una password separati dall'account di accesso di Azure. Ogni app Web è preconfigurata con nome utente e password specifici che possono essere reimpostati su un nuovo valore casuale, ma non possono essere modificati su valori a scelta.

Invece di cercare questi valori casuali per ognuna delle app, è possibile usare una funzionalità del servizio app denominata "Credenziali della distribuzione utente" per creare un nome utente e una password personalizzati. I valori scelti funzioneranno per le distribuzioni in tutte le app Web di Servizio app per cui si dispone delle autorizzazioni, incluse le nuove app Web che verranno create in futuro. Il nome utente e la password selezionati vengono associati alle credenziali di Azure e sono destinati solo all'uso personale, quindi evitare di condividerli con altri utenti. È possibile modificare il nome utente e la password in qualsiasi momento.

Il modo più semplice per creare le credenziali di distribuzione è dall'interfaccia della riga di comando di Azure.

  1. Eseguire il comando seguente in Cloud Shell per configurare le credenziali di distribuzione, sostituendo <username> e <password> con valori di propria scelta:

    az webapp deployment user set --user-name <username> --password <password>
    

Distribuire il pacchetto dell'applicazione Java con WAR Deploy

Distribuire ora l'applicazione Java con WAR Deploy. WAR Deploy è incluso nell'API REST Kudu: un'interfaccia di servizio amministrativa, disponibile in tutte le app Web del servizio app, a cui è possibile accedere tramite HTTP. Il modo più semplice per usare WAR Deploy è con l'utilità HTTP curl dalla riga di comando.

Eseguire i comandi seguenti per distribuire l'app Web Java con WAR Deploy. Sostituire <username> e <password> con il nome utente e la password dell'utente di distribuzione creati in precedenza e sostituire <your-app-name> con il nome dell'app Web creata nel portale di Azure.

cd ~/helloworld/target
curl -v -X POST -u <username>:<password> https://<your-app-name>.scm.azurewebsites.net/api/wardeploy --data-binary @helloworld.war

Al termine dell'esecuzione del comando, aprire una nuova scheda del browser e passare a https://<your-app-name>.azurewebsites.net. Verrà visualizzato il messaggio di saluto nell'app. La distribuzione è stata completata correttamente.

Eseguire la distribuzione con az webapp up

Si distribuirà ora l'applicazione Node.js con az webapp up. Questo comando crea il pacchetto dell'applicazione e lo invia all'istanza del servizio app, dove vengono eseguite la compilazione e la distribuzione.

Prima di tutto, è necessario raccogliere alcune informazioni sulla risorsa app Web. Eseguire i comandi seguenti per impostare le variabili della shell che contengono nome dell'app, nome del gruppo di risorse, nome del piano, SKU e località. Ognuno di questi elementi usa comandi az diversi per richiedere le informazioni da Azure. az webapp up richiede questi valori per impostare come destinazione l'app Web esistente.

export APPNAME=$(az webapp list --query [0].name --output tsv)
export APPRG=$(az webapp list --query [0].resourceGroup --output tsv)
export APPPLAN=$(az appservice plan list --query [0].name --output tsv)
export APPSKU=$(az appservice plan list --query [0].sku.name --output tsv)
export APPLOCATION=$(az appservice plan list --query [0].location --output tsv)

Eseguire ora az webapp up con i valori appropriati. Prima di eseguire questo comando, verificare di essere nella directory helloworld.

az webapp up --name $APPNAME --resource-group $APPRG --plan $APPPLAN --sku $APPSKU --location "$APPLOCATION"

Per la distribuzione possono essere necessari alcuni minuti. Sarà possibile visualizzare lo stato di avanzamento nell'output dello stato. Un codice di stato 202 indica che la distribuzione ha avuto esito positivo.

Verificare la distribuzione

Passare all'applicazione. L'ultima riga dell'output di az webapp up, prima del blocco di codice JSON, include un collegamento all'app. Selezionarlo per passare all'app in una nuova scheda del browser. Il caricamento della pagina può richiedere qualche istante, perché il servizio app sta inizializzando l'app per la prima volta.

Dopo il caricamento verrà visualizzato il messaggio di saluto nell'app. La distribuzione è stata completata correttamente.

Screenshot of welcome page.

Eseguire la distribuzione con az webapp up

Si distribuirà ora l'applicazione Python con az webapp up. Questo comando crea il pacchetto dell'applicazione e lo invia all'istanza del servizio app, dove vengono eseguite la compilazione e la distribuzione.

Prima di tutto, è necessario raccogliere alcune informazioni sulla risorsa app Web. Eseguire questi comandi per impostare le variabili della shell che contengono il nome dell'app, il nome del gruppo di risorse, il nome del piano, lo SKU e la località. Vengono usati comandi az diversi per richiedere le informazioni da Azure. az webapp up richiede questi valori per impostare come destinazione l'app Web esistente.

export APPNAME=$(az webapp list --query [0].name --output tsv)
export APPRG=$(az webapp list --query [0].resourceGroup --output tsv)
export APPPLAN=$(az appservice plan list --query [0].name --output tsv)
export APPSKU=$(az appservice plan list --query [0].sku.name --output tsv)
export APPLOCATION=$(az appservice plan list --query [0].location --output tsv)

Eseguire ora az webapp up con i valori appropriati. Prima di eseguire questo comando, verificare di essere nella directory BestBikeApp.

cd ~/BestBikeApp
az webapp up --name $APPNAME --resource-group $APPRG --plan $APPPLAN --sku $APPSKU --location "$APPLOCATION"

La distribuzione richiederà alcuni minuti, durante i quali verrà visualizzato l'output di stato.

Verificare la distribuzione

Passare all'applicazione. Nell'output, appena prima del blocco di codice JSON, c'è una riga con un URL. Selezionare il collegamento per aprire l'app in una nuova scheda del browser. Il caricamento della pagina potrebbe richiedere alcuni minuti perché Servizio app inizializza l'app per la prima volta.

Dopo il caricamento del programma verrà visualizzato il messaggio di saluto nell'app. La distribuzione è stata completata correttamente.

Screenshot of Python's welcome page showing Hello Best Bike App!