Konfigurera en mellanlagringsmiljö i Azure Spring Apps

Kommentar

Basic-, Standard- och Enterprise-planerna kommer att vara inaktuella från och med mitten av mars 2025, med en 3-årig pensionsperiod. Vi rekommenderar att du övergår till Azure Container Apps. Mer information finns i meddelandet om azure Spring Apps-pensionering.

Standardförbrukningen och den dedikerade planen kommer att vara inaktuell från och med den 30 september 2024, med en fullständig avstängning efter sex månader. Vi rekommenderar att du övergår till Azure Container Apps. Mer information finns i Migrera Azure Spring Apps Standard-förbrukning och dedikerad plan till Azure Container Apps.

Den här artikeln gäller för: ✔️ Java ❌ C#

Den här artikeln gäller för:❌ Basic ✔️ Standard ✔️ Enterprise

Den här artikeln beskriver hur du konfigurerar en mellanlagringsdistribution med hjälp av det blågröna distributionsmönstret i Azure Spring Apps. Blågrön distribution är ett azure DevOps-mönster för kontinuerlig leverans som förlitar sig på att hålla en befintlig (blå) version live medan en ny (grön) distribueras. Den här artikeln visar hur du placerar mellanlagringsdistributionen i produktion utan att ändra produktionsdistributionen.

Förutsättningar

  • En befintlig Azure Spring Apps-instans i Standard-planen.
  • Azure CLI.

Den här artikeln använder ett program som skapats från Spring Initializr. Om du vill använda ett annat program för det här exemplet gör du en ändring i en offentlig del av programmet för att skilja mellanlagringsdistributionen från produktionsdistributionen.

Dricks

Azure Cloud Shell är ett kostnadsfritt interaktivt gränssnitt som du kan använda för att köra instruktionerna i den här artikeln. Den har vanliga, förinstallerade Azure-verktyg, inklusive de senaste versionerna av Git, JDK, Maven och Azure CLI. Om du är inloggad på din Azure-prenumeration startar du Cloud Shell-instansen. Mer information finns i Översikt över Azure Cloud Shell.

Om du vill konfigurera blågrön distribution i Azure Spring Apps följer du anvisningarna i nästa avsnitt.

Installera Azure CLI-tillägget

Installera Azure Spring Apps-tillägget för Azure CLI med hjälp av följande kommando:

az extension add --name spring

Förbereda appen och distributionerna

Följ dessa steg för att skapa programmet:

  1. Generera koden för exempelappen med hjälp av Spring Initializr med den här konfigurationen.

  2. Ladda ned koden.

  3. Lägg till följande HelloController.java källfil i mappen *\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. Skapa .jar-filen:

    mvn clean package -DskipTests
    
  5. Skapa appen i din Azure Spring Apps-instans:

    az spring app create \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name demo \
        --runtime-version Java_17 \
        --assign-endpoint
    
  6. Distribuera appen till 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. Ändra koden för mellanlagringsdistributionen:

    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. Återskapa .jar-filen:

    mvn clean package -DskipTests
    
  9. Skapa den gröna distributionen:

    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
    

Visa appar och distributioner

Använd följande steg för att visa distribuerade appar.

  1. Gå till din Azure Spring Apps-instans i Azure Portal.

  2. Öppna fönstret Appar i navigeringsfönstret för att visa appar för din tjänstinstans.

    Skärmbild av fönstret Appar som visar appar för din tjänstinstans.

  3. Välj en app för att visa information.

    Skärmbild av demoappen som visar sidan Översikt med tillgängliga inställningar.

  4. Öppna Distributioner för att se alla distributioner av appen. Rutnätet visar både produktions- och mellanlagringsdistributioner.

    Skärmbild som visar appdistributioner i listan.

  5. Välj URL:en för att öppna det distribuerade programmet.

    Skärmbild som visar URL:en för det distribuerade programmet.

  6. Välj Produktion i kolumnen Tillstånd för att se standardappen.

    Skärmbild som visar URL:en för standardappen.

  7. Välj Mellanlagring i kolumnen Tillstånd för att se mellanlagringsappen.

    Skärmbild som visar URL:en för mellanlagringsappen.

Dricks

Kontrollera att testslutpunkten slutar med ett snedstreck (/) för att säkerställa att CSS-filen läses in korrekt. Om din webbläsare kräver att du anger inloggningsuppgifter för att visa sidan använder du URL-avkodning för att avkoda testslutpunkten. URL-avkodning returnerar en URL i formatet https://\<username>:\<password>@\<cluster-name>.test.azuremicroservices.io/demo/green. Använd det här formatet för att komma åt slutpunkten. Om du vill inaktivera grundläggande autentisering för testslutpunkten kör du följande Azure CLI-kommando: az spring app update --resource-group <resource-group-name> --service <Azure-Spring-Apps-instance-name> --name demo --disable-test-endpoint-auth true

Kommentar

Konfigurationsserverinställningarna gäller för både mellanlagringsmiljön och produktionsmiljön. Om du till exempel anger kontextsökvägen (server.servlet.context-path) för din appdemo på konfigurationsservern som en sökväg ändras sökvägen till den gröna distributionen till https://\<username>:\<password>@\<cluster-name>.test.azuremicroservices.io/demo/green/somepath/....

Om du besöker din offentliga appdemo just nu bör du se den gamla sidan utan din nya ändring.

Ange den gröna distributionen som produktionsmiljö

  1. När du har verifierat ändringen i mellanlagringsmiljön kan du push-överföra den till produktion. På sidan Appdistributioner> väljer du det program som för närvarande finns i Produktion.

  2. Välj ellipsen efter registreringsstatus för den gröna distributionen och välj sedan Ange som produktion.

    Skärmbild som visar val för att ställa in mellanlagringsversionen till produktion.

  3. Bekräfta att url:en för appen visar dina ändringar.

    Skärmbild som visar URL:en för appen som nu är i produktion.

Kommentar

När du har angett den gröna distributionen som produktionsmiljö blir den tidigare distributionen mellanlagringsdistributionen.

Ändra mellanlagringsdistributionen

Om du inte är nöjd med ändringen kan du ändra programkoden, skapa ett nytt .jar paket och ladda upp det till din gröna distribution med hjälp av Azure CLI:

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

Ta bort mellanlagringsdistributionen

Om du vill ta bort mellanlagringsdistributionen från Azure Portal går du till sidan för mellanlagringsdistributionen och väljer knappen Ta bort.

Du kan också ta bort mellanlagringsdistributionen från Azure CLI genom att köra följande kommando:

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

Nästa steg