Esercizio: Configurare una distribuzione blu-verde

Completato

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

  1. 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.

  2. Nella finestra Crea nuovo progetto selezionare l'organizzazione esistente, impostare Nome del progetto su PU ospitato e fare clic su Scegli un modello.

    Choose template.

  3. 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.

  4. 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.

    Build succeeded with warnings.

  5. 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.

    Release pipeline edit.

  6. Selezionare la fase Sviluppo dall'elenco a discesa accanto ad Attività e quindi fare clic per selezionare l'attività Distribuzione Azure.

  7. 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.

    Resource group deployment.

  8. 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.

    Staging app service deploy.

    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.

  9. 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.

    Agent job configuration.

  10. 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.

    Green site stages complete.

  11. 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.

    Production tasks.

  12. Fare clic sull'attività Distribuisci servizio app di Azure e deselezionare l'opzione Distribuisci nello slot. Fare clic su Salva e OK.

    No deploy to slot.

    Il sito di produzione non viene distribuito in uno slot di distribuzione. Viene distribuito nel sito principale.

  13. 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.

    Release link.

    Dopo qualche minuto, la distribuzione dovrebbe avere esito positivo.

    Deployment succeeded for green site and production.

Testare il sito verde e il sito di produzione

  1. 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.

    Resource group and URL.

  2. 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).

    Parts Unlimited site on staging.

Nota

Si può affermare che lo slot di staging viene usato a causa del suffisso -staging nell'URL del sito Web.

  1. Aprire un'altra nuova scheda del browser e passare allo stesso URL, ma senza lo slot -staging. Anche il sito di produzione dovrebbe funzionare.

    Production site.

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.

  1. 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.

  2. 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.

    New swap blue-green stage.

  3. Fare clic su Variabili e modificare il campo Ambito di WebsiteName impostandolo su Versione.

    Variable scope.

  4. 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.

    CLI search.

  5. 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.

    Azure CLI settings pane.

  6. 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

    Azure CLI configured.

  7. 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.

  8. Configurarsi come responsabile approvazione, fare clic su Salva e quindi su OK.

    Approver enabled.

Testare lo scambio blu-verde

  1. Nel menu principale di PU ospitato fare clic su Repository e quindi su File per aprire i file di progetto. Passare al file seguente.

    Index view code.

    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.

  2. 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.

Update tyres.

  1. Dal menu principale scegliere Pipeline e quindi Compila. Attendere il completamento della compilazione di integrazione continua.

    Build succeeded.

  2. Nel menu principale fare clic su Versioni. Fare clic per aprire la versione più recente (nella parte superiore dell'elenco).

    Approval required.

    A questo punto, viene visualizzata una richiesta di approvazione dello scambio delle distribuzioni in Produzione. Innanzitutto si verificherà la distribuzione verde.

  3. 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.

    Green site updated.

  4. Aggiornare la scheda del browser del sito di produzione e notare che non è ancora aggiornato.

    Production site unchanged.

  5. Quando si è soddisfatti della modifica, nei dettagli della versione fare clic su Approva e quindi Approva e attendere il completamento della fase.

    Swap completed.

  6. Aggiornare la scheda del browser del sito di produzione e verificare che sia ora disponibile il codice aggiornato.

    Production site updated.

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.