Distribuire un'app Web scambiando gli slot di distribuzione

Completato

Con lo scambio degli slot è possibile controllare in modo preciso il comportamento e la configurazione delle app Web.

Supponiamo di aver configurato gli slot di distribuzione per gli ambienti di produzione e di staging. Si testa una nuova versione dell'app Web di social media nello slot di staging. Ora è giunto il momento di distribuire questa nuova versione nell'ambiente di produzione. Si vuole distribuire l'app senza problemi e con la configurazione corretta.

In questa unità si apprenderà la configurazione corretta per lo scambio dell'app Web nell'ambiente di produzione.

Gestire la configurazione per uno scambio

Quando si scambiano due slot, la configurazione dell'app viene trasferita nel nuovo slot insieme all'app. Questo comportamento può essere ignorato per le singole impostazioni applicazione e stringhe di configurazione configurandole come impostazioni dello slot.

Supponiamo ad esempio di avere due database, uno per l'ambiente di produzione e l'altro per il test di accettazione. Si vuole che la versione dell'app nello slot di staging usi sempre il database di test. La versione dell'app nello slot di produzione deve invece usare sempre il database di produzione. A questo scopo, è possibile configurare la stringa di connessione del database come impostazione dello slot.

Configurare le impostazioni dello slot

Per visualizzare e configurare le impostazioni per lo scambio, passare alla risorsa app Web e seguire questa procedura:

  1. Nel menu del portale di Azure o nella home page selezionare Tutte le risorse e quindi selezionare lo slot di distribuzione che si vuole configurare.

  2. Passare al riquadro Configurazione.

  3. Nella scheda Impostazioni applicazione osservare se le impostazioni a cui si è interessati contengono un segno di spunta nel campo Impostazione slot di distribuzione. Per aggiungere o rimuovere un segno di spunta su una determinata impostazione, selezionare il pulsante della matita dell'impostazione per modificarla, quindi impostare il valore desiderato della casella di controllo Impostazione slot di distribuzione sul valore desiderato e selezionare OK.

    Screenshot of slot settings configuration in the Azure portal.

    Screenshot of the toggle deployment slot setting in the Azure portal.

  4. Selezionare Salva nel riquadro Configurazione al termine del salvataggio delle impostazioni.

Scambiare gli slot nel portale di Azure

Per scambiare due slot nel portale di Azure:

  1. Nel menu del portale di Azure o nella home page selezionare Tutte le risorse, quindi passare a uno degli slot di distribuzione per l'app Web e selezionare il riquadro Slot di distribuzione.

  2. Selezionare Scambia.

  3. Nella finestra di dialogo Scambia è possibile selezionare gli slot di origine e di destinazione e visualizzare un riepilogo delle impostazioni che verranno applicate agli slot scambiati.

    Screenshot of swapping two slots in the Azure portal.

Anteprima dello scambio di slot

Quando si scambiano gli slot, le impostazioni nello slot di destinazione (in genere lo slot di produzione) vengono applicate alla versione dell'app nello slot di origine prima che vengano scambiati i nomi host. A questo punto potrebbero verificarsi alcuni problemi. Ad esempio, se la stringa di connessione del database è configurata come impostazione dello slot, la nuova versione dell'app Web userà il database di produzione esistente. Se si è dimenticato di aggiornare lo schema del database nel database di produzione prima dello scambio, potrebbero essere visualizzati errori ed eccezioni quando la nuova versione dell'app tenta di usare il vecchio schema.

Per individuare i problemi prima che l'app venga resa disponibile in ambiente di produzione, il servizio app di Azure offre la funzionalità Scambio con anteprima. Quando si sceglie questa opzione, le fasi per lo scambio sono due:

  • Fase 1: le impostazioni dello slot di destinazione vengono applicate all'app Web nello slot di origine. Azure prepara quindi lo slot di origine. A questo punto, l'operazione di scambio viene sospesa in modo da poter testare l'app nello slot di origine per verificarne il funzionamento con la configurazione dello slot di destinazione. Se non vengono rilevati problemi, si passa alla fase successiva.
  • Fase 2: i nomi host dei due siti vengono scambiati. La versione dell'app attualmente nello slot di origine riceve le relative impostazioni dello slot.

Importante

Testare completamente l'app Web mentre si trova nello slot di staging. Eliminare i bug del codice e i problemi con le impostazioni non relative allo slot. La funzionalità Scambio con anteprima può solo contribuire a individuare ed eliminare i problemi causati dalle impostazioni dello slot di produzione. Accertarsi che tutto il resto sia corretto prima di avviare qualsiasi tipo di scambio nell'ambiente di produzione.

Visualizzare in anteprima lo scambio di slot

Per usare la funzionalità Scambio con anteprima, selezionare Esegui scambio con anteprima, rivedere le impostazioni e quindi selezionare Avvia scambio.

Screenshot of swapping two slots with a preview.

Seguire il collegamento per visualizzare in anteprima la nuova versione del sito. Nell'anteprima vengono applicate le impostazioni dello slot di destinazione. Se si vuole continuare, selezionare Completa scambio.

Scambio automatico

Lo scambio automatico offre i vantaggi del rollback semplificato e dei tempi di inattività pari a zero garantiti dalla distribuzione basata su scambio in pipeline di distribuzione automatiche. Quando si configura uno slot per lo scambio automatico, Azure lo scambia automaticamente ogni volta che si esegue il push di codice o contenuto in quello slot.

Quando si usa lo scambio automatico non è possibile testare la nuova versione dell'app nello slot di staging prima dello scambio. Lo scambio automatico è vantaggioso principalmente per gli utenti che vogliono distribuzioni senza tempi di inattività e pipeline di distribuzione automatiche semplici.

Se si vuole poter eseguire un test prima dello scambio, è necessaria una pipeline più complessa che richieda lo scambio degli slot. In alternativa è possibile eseguire la distribuzione in uno slot separato dedicato alle attività di test.

Nota

Lo scambio automatico non è disponibile nel servizio app di Azure in Linux.

Configurare lo scambio automatico

Per configurare lo scambio automatico per uno slot, passare al riquadro Configurazione> Impostazioni generali per lo slot nel portale di Azure. In Slot di distribuzione impostare Scambio automatico abilitato su Attiva, selezionare lo slot di destinazione dal menu a discesa e selezionare Salva nella barra dei menu superiore.

Screenshot of auto swap configuration in the Azure portal.

Questa opzione è disponibile solo per gli slot diversi dallo slot di produzione.