Esercizio: Configurare una distribuzione blu-verde
In questa dimostrazione si esaminerà una distribuzione blu-verde.
Passaggi
Analizzare il modo in cui una pipeline di versione può essere usata per implementare distribuzioni blu-verde.
Si inizierà creando un nuovo progetto con una pipeline di versione in grado di distribuire nuovamente il modello PartsUnlimited.
Distribuzione iniziale dell'app
Passare al generatore demo di Azure DevOps in un browser: https://azuredevopsdemogenerator.azurewebsites.net e fare clic su Accedi.
Se necessario, verrà visualizzata una richiesta di accesso.
Nella finestra Crea nuovo progetto selezionare l'organizzazione esistente, impostare Nome del progetto su PU ospitato e fare clic su Scegli un modello.
Fare clic sul progetto PartsUnlimited (non sul progetto PartsUnlimited-YAML), fare clic su Seleziona modello e quindi su Crea progetto. Al termine della distribuzione, fare clic su Passa a progetto.
Nel menu principale per PU ospitato fare clic su Pipeline e quindi fare clic su Compilazioni, Coda e infine Esegui per avviare una compilazione.
La build dovrebbe venire completata correttamente.
Nota
È possibile che vengano visualizzati avvisi, ma possono essere ignorati per questa procedura dettagliata.
Nel menu principale fare clic su Versioni. Poiché è stato attivato un trigger di integrazione continua, è stato eseguito un tentativo di rilascio. La versione, tuttavia, non è ancora stata configurata e, pertanto, ha avuto esito negativo. Per immettere la modalità di modifica della versione, fare clic su Modifica.
Selezionare la fase Sviluppo dall'elenco a discesa accanto ad Attività e quindi fare clic per selezionare l'attività Distribuzione Azure.
Nel riquadro Distribuzione gruppo di risorse di Azure selezionare la sottoscrizione di Azure e quindi fare clic su Autorizza quando richiesto. Al termine dell'autorizzazione, scegliere un percorso per l'app Web.
Nota
A questo punto, è possibile che venga visualizzata la richiesta di accesso ad Azure.
Nell'elenco attività fare clic su Distribuzione servizio app di Azure per aprirne le impostazioni. Selezionare nuovamente la sottoscrizione di Azure. Impostare Slot di distribuzione su Gestione temporanea.
Nota
Il modello crea un sito di produzione e due slot di distribuzione: Sviluppo e Gestione temporanea. Per Sito verde, verrà usato lo slot Gestione temporanea.
Nell'elenco attività fare clic su Sviluppo e nel riquadro Processo agente selezionare Azure Pipelines per Pool di agenti e windows-latest per Specifica agente.
Dal menu in alto scegliere Pipeline. Fare clic sulla fase Sviluppo e nella finestra delle proprietà rinominarla in Sito verde. Fare clic sulla fase Controllo di qualità, selezionare Elimina e quindi Conferma. Fare clic sulla fase Produzione, selezionare Elimina e quindi Conferma. Fare clic su Salva e quindi su OK.
Passare il puntatore del mouse sulla fase Sito verde e fare clic sull'icona Clona quando viene visualizzata. Modificare Nome della fase impostandolo su Produzione. Nell'elenco a discesa Attività selezionare Produzione.
Fare clic sull'attività Distribuisci servizio app di Azure e deselezionare l'opzione Distribuisci nello slot. Fare clic su Salva e OK.
Il sito di produzione non viene distribuito in uno slot di distribuzione. Viene distribuito nel sito principale.
Fare clic su Crea versione e quindi su Crea per creare la nuova versione. Al momento della creazione, fare clic sul collegamento alla versione per visualizzarne lo stato.
Dopo qualche minuto, la distribuzione dovrebbe avere esito positivo.
Testare il sito verde e il sito di produzione
Aprire il pannello relativo al gruppo di risorse ASPDOTNET creato dalla distribuzione del progetto nel portale di Azure. Si notino i nomi delle app Web distribuite. Fare clic per aprire il pannello dell'app Web Gestione temporanea*. Copiare l'URL dal lato superiore sinistro.
Aprire una nuova scheda del browser e passare all'URL copiato. La compilazione dell'applicazione richiederà qualche minuto, verrà poi visualizzato il sito Web Verde (nello slot di Gestione temporanea).
Nota
Si può affermare che lo slot di staging viene usato a causa del suffisso -staging nell'URL del sito Web.
Aprire un'altra nuova scheda del browser e passare allo stesso URL, ma senza lo slot -staging. Anche il sito di produzione dovrebbe funzionare.
Nota
Lasciare aperte entrambe le finestre del browser per un utilizzo successivo nella procedura dettagliata.
Configurare lo scambio e l'approvazione blu-verde
Ora che entrambi i siti funzionano, configurare la pipeline di versione per la distribuzione blu-verde.
In Azure DevOps, nel menu principale del progetto PU ospitato, fare clic su Pipelinee quindi fare clic su Versioni e Modifica per tornare alla modalità di modifica.
Fare clic sulla fase Produzione, selezionare Elimina e quindi Conferma per rimuoverla. Fare clic su +Aggiungi per aggiungere un'altra fase e fare clic su Processo vuoto per il modello. Impostare Scambio blu-verde in Nome della fase.
Fare clic su Variabili e modificare il campo Ambito di WebsiteName impostandolo su Versione.
Nell'elenco a discesa Attività fare clic per selezionare la fase Scambio blu-verde. Fare clic su + sul lato destro di Processo agente per aggiungere una nuova attività. Nella casella Cerca digitare Interfaccia della riga di comando.
Passare il puntatore del mouse sul modello Interfaccia della riga di comando di Azure e, quando viene visualizzato il pulsante Aggiungi, selezionarlo per scegliere l'attività Interfaccia della riga di comando di Azure per aprire il relativo riquadro delle impostazioni.
Configurare il riquadro come indicato di seguito, con i valori relativi alla sottoscrizione, Script inline in Percorso script e il valore in Script inline:
Az webapp deployment slot swap -g $(ResourceGroupName) -n $(WebsiteName) --slot Staging --target-slot production
Dal menu sopra l'elenco attività fare clic su Pipeline. Fare clic sull'icona Condizioni pre-distribuzione per la fase Scambio blu-verde e quindi nel riquadro Trigger abilitare Approvazioni pre-distribuzione.
Configurarsi come responsabile approvazione, fare clic su Salva e quindi su OK.
Testare lo scambio blu-verde
Nel menu principale di PU ospitato fare clic su Repository e quindi su File per aprire i file di progetto. Passare al file seguente.
Verrà apportata una modifica estetica per visualizzare l'aggiornamento del sito Web. Verrà modificato il termine pneumatico nella rotazione della pagina principale in pneumatici per un riferimento più generico.
Fare clic su Modifica per consentire la modifica, quindi trovare il termine pneumatico e sostituirlo con il termine pneumatici. Fare clic su Commit ed Esegui commit per salvare le modifiche e attivare una compilazione e una versione.
Dal menu principale scegliere Pipeline e quindi Compila. Attendere il completamento della compilazione di integrazione continua.
Nel menu principale fare clic su Versioni. Fare clic per aprire la versione più recente (nella parte superiore dell'elenco).
A questo punto, viene visualizzata una richiesta di approvazione dello scambio delle distribuzioni in Produzione. Innanzitutto si verificherà la distribuzione verde.
Aggiornare la scheda del browser Sito verde (ovvero lo slot di gestione temporanea) e verificare se viene visualizzata la modifica. Ora mostra la parola modificata.
Aggiornare la scheda del browser del sito di produzione e notare che non è ancora aggiornato.
Quando si è soddisfatti della modifica, nei dettagli della versione fare clic su Approva e quindi Approva e attendere il completamento della fase.
Aggiornare la scheda del browser del sito di produzione e verificare che sia ora disponibile il codice aggiornato.
Note finali
Se si controlla il Sito verde, si noterà la presenza della versione precedente del codice.
Si tratta della differenza fondamentale con lo scambio, anziché semplicemente un processo di distribuzione tipico da un sito di preproduzione a un altro. Se necessario, è disponibile un'opzione di fallback rapido tramite lo scambio dei siti.