Share via


Configurare un ambiente di gestione temporanea in Azure Spring Apps

Nota

Azure Spring Apps è il nuovo nome del servizio Azure Spring Cloud. Anche se il servizio ha un nuovo nome, il nome precedente verrà visualizzato in alcune posizioni per un po' mentre si lavora per aggiornare gli asset, ad esempio screenshot, video e diagrammi.

Questo articolo si applica a: ✔️ Java ❌ C#

Questo articolo si applica a:❌ Basic ✔️ Standard ✔️ Enterprise

Questo articolo illustra come configurare una distribuzione di staging usando il modello di distribuzione blu-verde in Azure Spring Apps. La distribuzione blu-verde è un modello di recapito continuo di Azure DevOps che si basa sulla disponibilità di una versione esistente (blu) mentre ne viene distribuita una nuova (verde). Questo articolo illustra come inserire la distribuzione di staging nell'ambiente di produzione senza modificare la distribuzione di produzione.

Prerequisiti

Questo articolo usa un'applicazione creata da Spring Initializr. Se si vuole usare un'applicazione diversa per questo esempio, apportare una modifica in una parte pubblica dell'applicazione per differenziare la distribuzione di staging dalla distribuzione di produzione.

Suggerimento

Azure Cloud Shell è una shell interattiva gratuita che è possibile usare per eseguire le istruzioni in questo articolo. Include strumenti di Azure comuni preinstallati, tra cui le versioni più recenti di Git, JDK, Maven e l'interfaccia della riga di comando di Azure. Se si è connessi alla sottoscrizione di Azure, avviare l'istanza di Cloud Shell. Per altre informazioni, vedere Panoramica di Azure Cloud Shell.

Per configurare la distribuzione blu-verde in Azure Spring Apps, seguire le istruzioni nelle sezioni successive.

Installare l'estensione dell'interfaccia della riga di comando di Azure.

Installare l'estensione Azure Spring Apps per l'interfaccia della riga di comando di Azure usando il comando seguente:

az extension add --name spring

Preparare l'app e le distribuzioni

Per compilare l'applicazione, seguire questa procedura:

  1. Generare il codice per l'app di esempio usando Spring Initializr con questa configurazione.

  2. Scaricare il codice.

  3. Aggiungere il file di origine HelloController.java seguente alla cartella *\src\main\java\com\example\hellospring*:

    package com.example.hellospring;
    import org.springframework.web.bind.annotation.RestController;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    @RestController
    
    public class HelloController {
    
    @RequestMapping("/")
    
      public String index() {
          return "Greetings from Azure Spring Apps!";
      }
    
    }
    
  4. Compilare il file .jar :

    mvn clean package -DskipTests
    
  5. Creare l'app nell'istanza di Azure Spring Apps:

    az spring app create \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name demo \
        --runtime-version Java_17 \
        --assign-endpoint
    
  6. Distribuire l'app in Azure Spring Apps:

    az spring app deploy \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name demo \
        --artifact-path target\hellospring-0.0.1-SNAPSHOT.jar
    
  7. Modificare il codice per la distribuzione di staging:

    package com.example.hellospring;
    import org.springframework.web.bind.annotation.RestController;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    @RestController
    
    public class HelloController {
    
    @RequestMapping("/")
    
      public String index() {
          return "Greetings from Azure Spring Apps! THIS IS THE GREEN DEPLOYMENT";
      }
    
    }
    
  8. Ricompilare il file .jar :

    mvn clean package -DskipTests
    
  9. Creare la distribuzione verde:

    az spring app deployment create \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --app demo \
        --name green \
        --runtime-version Java_17 \
        --artifact-path target\hellospring-0.0.1-SNAPSHOT.jar
    

Visualizzare app e distribuzioni

Usare la procedura seguente per visualizzare le app distribuite.

  1. Passare all'istanza di Azure Spring Apps nel portale di Azure.

  2. Nel riquadro di spostamento aprire il riquadro App per visualizzare le app per l'istanza del servizio.

    Screenshot del riquadro App che mostra le app per l'istanza del servizio.

  3. Selezionare un'app per visualizzare i dettagli.

    Screenshot dell'app demo che mostra la pagina Panoramica con le impostazioni disponibili.

  4. Aprire Distribuzioni per visualizzare tutte le distribuzioni dell'app. La griglia mostra le distribuzioni di produzione e di gestione temporanea.

    Screenshot che mostra le distribuzioni di app elencate.

  5. Selezionare l'URL per aprire l'applicazione attualmente distribuita.

    Screenshot che mostra l'URL dell'applicazione distribuita.

  6. Selezionare Produzione nella colonna Stato per visualizzare l'app predefinita.

    Screenshot che mostra l'URL dell'app predefinita.

  7. Selezionare Staging nella colonna Stato per visualizzare l'app di staging.

    Screenshot che mostra l'URL dell'app di staging.

Suggerimento

Verificare che l'endpoint di test termini con una barra (/) per assicurarsi che il file CSS venga caricato correttamente. Se il browser richiede di immettere le credenziali di accesso per visualizzare la pagina, usare Decodifica URL per decodificare l'endpoint di test. La decodifica URL restituisce un URL nel formato https://\<username>:\<password>@\<cluster-name>.test.azuremicroservices.io/demo/green. Usare questo formato per accedere all'endpoint.

Nota

Le impostazioni del server di configurazione si applicano sia all'ambiente di gestione temporanea che all'ambiente di produzione. Ad esempio, se si imposta il percorso di contesto (server.servlet.context-path) per la demo dell'app nel server di configurazione come percorso, il percorso della distribuzione verde diventa https://\<username>:\<password>@\<cluster-name>.test.azuremicroservices.io/demo/green/somepath/....

Se si visita la demo dell'app pubblica a questo punto, verrà visualizzata la pagina precedente senza la nuova modifica.

Impostare la distribuzione verde come ambiente di produzione

  1. Dopo aver verificato la modifica nell'ambiente di gestione temporanea, è possibile eseguirne il push nell'ambiente di produzione. Nella >pagina Distribuzioni app selezionare l'applicazione attualmente in Produzione.

  2. Selezionare i puntini di sospensione dopo lo stato di registrazione della distribuzione verde e quindi selezionare Imposta come produzione.

    Screenshot che mostra le selezioni per impostare la compilazione di staging sull'ambiente di produzione.

  3. Verificare che l'URL dell'app visualizzi le modifiche.

    Screenshot che mostra l'URL dell'app ora in produzione.

Nota

Dopo aver impostato la distribuzione verde come ambiente di produzione, la distribuzione precedente diventa la distribuzione di staging.

Modificare la distribuzione di staging

Se non si è soddisfatti della modifica, è possibile modificare il codice dell'applicazione, compilare un nuovo pacchetto .jar e caricarlo nella distribuzione verde usando l'interfaccia della riga di comando di Azure:

az spring app deploy \
    --resource-group <resource-group-name> \
    --service <service-instance-name> \
    --name demo \
    --deployment green \
    --artifact-path demo.jar

Eliminare la distribuzione di staging

Per eliminare la distribuzione di staging dal portale di Azure, passare alla pagina per la distribuzione di staging e selezionare il pulsante Elimina.

In alternativa, eliminare la distribuzione di staging dall'interfaccia della riga di comando di Azure eseguendo il comando seguente:

az spring app deployment delete \
    --resource-group <resource-group-name> \
    --service <service-instance-name> \
    --name <staging-deployment-name> \
    --app demo

Passaggi successivi