Esercizio - Distribuire un'app Web usando slot di distribuzione

Completato

Quando si è pronti per scambiare due slot, assicurarsi di aver applicato la configurazione corretta agli slot scambiati.

Supponiamo di aver terminato il test della versione 2 dell'app Web di social media. A questo punto si vuole distribuire questa versione nell'ambiente di produzione. Si vuole semplificare ulteriormente la distribuzione scambiando automaticamente le versioni future dell'app.

In questo esercizio viene descritto come eseguire lo scambio manualmente e automaticamente.

Configurare un'impostazione dello slot

Prima di distribuire la versione 2 dell'app Web, si configurerà un'impostazione dello slot. Le impostazioni configurate qui non verranno applicate all'app demo. Lo scopo di questo esercizio è solo quello di verificare il funzionamento delle configurazioni quando si scambiano gli slot.

Per configurare le impostazioni dello slot:

  1. Nella visualizzazione Tutte le risorse del portale di Azure passare alla pagina Panoramica dello slot di produzione dell'app Web.

  2. Passare al riquadro Configurazione dello slot di distribuzione.

  3. Selezionare + Nuova impostazione applicazione. Aggiungere una nuova impostazione con il nome ENVIRONMENT_NAME e il valore production. Selezionare la casella Impostazione slot di distribuzione per rendere questa impostazione un'impostazione dello slot. Seleziona OK.

  4. Aggiungere un'altra impostazione chiamata APP_VERSION e immettere il valore 1. Non rendere questa impostazione un'impostazione dello slot. Seleziona OK.

  5. Nella barra dei menu in alto, selezionare Salva e quindi Continua.

  6. Ripetere i passaggi precedenti nello slot Staging ma usare i seguenti valori:

    Nome valore Impostazione slot di distribuzione
    ENVIRONMENT_NAME staging
    APP_VERSION 2 No

Scambiare gli slot

Ora che la versione 2 dell'app Web nello slot di staging è stata testata, è possibile distribuirla scambiando gli slot. Eseguire i passaggi indicati di seguito:

  1. Per assicurarsi di configurare lo slot di produzione, selezionare Tutte le risorse e quindi selezionare lo slot di produzione dell'app Web.

  2. Nel riquadro del menu a sinistra, in Distribuzione, selezionare Slot di distribuzione>Scambio.

    Screenshot of starting a swap.

  3. Verificare che lo scambio verrà eseguito fra lo slot di staging e quello di produzione. Lo scambio influirà sulle impostazioni. Il valore dell'impostazione APP_VERSION verrà scambiato tra gli slot, mentre quello dell'impostazione dello slot ENVIRONMENT non verrà scambiato. Selezionare Scambia.

    Screenshot of completing a swap.

  4. Al termine dello scambio, passare alla pagina Panoramica dell'app Web nello slot di produzione e selezionare Sfoglia. L'app Web viene visualizzata in una nuova scheda del browser. Si noti che la versione 2 dell'app Web è ora in produzione.

  5. Chiudere la scheda del browser.

Configurare lo scambio automatico per lo slot di staging

Ora che si stanno usando gli slot di distribuzione, si supponga di voler abilitare la distribuzione continua. Per farlo occorre usare la funzionalità di scambio automatico per l'app Web. In un sistema che usa lo scambio automatico, quando viene distribuito nuovo codice nello slot di staging, Azure lo prepara automaticamente e lo distribuisce nell'ambiente di produzione scambiando gli slot di staging e di produzione. Per configurare lo scambio automatico, seguire questa procedura:

  1. Passare al riquadro Configurazione dell'app Web dello slot di staging e passare alla scheda Impostazioni generali.

  2. Impostare Scambio automatico abilitato su Attiva.

  3. Nell'elenco Swapping automatico slot di distribuzione, selezionare Produzione e quindi Salva e Continua.

    Screenshot of configuring auto swap.

Distribuire nuovo codice e scambiarlo automaticamente nell'ambiente di produzione

Ora si modificherà il codice per creare la versione 3 dell'app Web. Quando verrà distribuita nello slot di staging, si vedrà uno scambio automatico in azione. Eseguire i passaggi indicati di seguito:

  1. Sul lato destro di Cloud Shell riavviare l'editor, se non è già in esecuzione.

    cd ~/demoapp/app-service-web-dotnet-get-started/
    code .
    
  2. Nell'elenco file sul lato sinistro dell'editor di codice espandere aspnet-get-started>Visualizzazioni>Home, quindi selezionare Index.cshtml.

  3. Trovare il codice seguente.

    <h1>Web App Version 2</h1>
    
  4. Sostituire il codice con questo.

    <h1>Web App Version 3</h1>
    
  5. Per salvare le modifiche, premere CTRL+S.

  6. In Cloud Shell eseguire i comandi seguenti. Quando richiesto, immettere la password per la distribuzione.

    git add .
    git commit -m "Third version of web app."
    git push staging
    

    Attendere il completamento della distribuzione. Verso la fine dell'output di testo si vedrà un messaggio che indica che la distribuzione ha richiesto uno scambio automatico con lo slot di produzione.

  7. Nel portale di Azure passare alla pagina Panoramica relativa all'app Web dello slot di produzione e selezionare Esplora. La terza versione dell'app web viene visualizzata in una nuova scheda del browser. Se viene visualizzata la versione precedente, potrebbe essere necessario attendere e aggiornare la pagina. L'operazione di swapping automatico è atomica e si verifica all'istante, ma sono necessari alcuni minuti per consentire a Servizio app di Azure di preparare l'operazione di swapping prima della sua esecuzione.

Eseguire il rollback della nuova versione

Supponiamo che la distribuzione della versione 3 dell'app nell'ambiente di produzione abbia rivelato un problema imprevisto. Per risolverlo rapidamente, è possibile eseguire il rollback alla versione precedente del sito scambiando nuovamente gli slot.

  1. Passare al riquadro Slot di distribuzione dell'app Web dello slot di produzione.

  2. Scambiare gli slot di staging e di produzione.

  3. Al termine dello scambio, nella pagina Panoramica selezionare Sfoglia per visualizzare l'app un'ultima volta. Si noterà che la versione 2 è stata ridistribuita nell'ambiente di produzione.