Konfigurera en mellanlagringsmiljö i Azure Spring Apps
Kommentar
Azure Spring Apps är det nya namnet på Azure Spring Cloud-tjänsten. Även om tjänsten har ett nytt namn ser du det gamla namnet på vissa platser ett tag medan vi arbetar med att uppdatera tillgångar som skärmbilder, videor och diagram.
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:
Generera koden för exempelappen med hjälp av Spring Initializr med den här konfigurationen.
Ladda ned koden.
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!"; } }
Skapa .jar-filen:
mvn clean package -DskipTests
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
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
Ä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"; } }
Återskapa .jar-filen:
mvn clean package -DskipTests
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.
Gå till din Azure Spring Apps-instans i Azure-portalen.
Öppna fönstret Appar i navigeringsfönstret för att visa appar för din tjänstinstans.
Välj en app för att visa information.
Öppna Distributioner för att se alla distributioner av appen. Rutnätet visar både produktions- och mellanlagringsdistributioner.
Välj URL:en för att öppna det distribuerade programmet.
Välj Produktion i kolumnen Tillstånd för att se standardappen.
Välj Mellanlagring i kolumnen Tillstånd för att se 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ö
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.
Välj ellipsen efter registreringsstatus för den gröna distributionen och välj sedan Ange som produktion.
Bekräfta att url:en för appen visar dina ändringar.
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-portalen 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