Een faseringsomgeving instellen in Azure Spring Apps
Notitie
De Basic-, Standard- en Enterprise-abonnementen worden afgeschaft vanaf medio maart 2025, met een pensioenperiode van 3 jaar. We raden u aan om over te stappen naar Azure Container Apps. Zie de aankondiging over buitengebruikstelling van Azure Spring Apps voor meer informatie.
Het standaardverbruik en het speciale abonnement worden vanaf 30 september 2024 afgeschaft, met een volledige afsluiting na zes maanden. We raden u aan om over te stappen naar Azure Container Apps. Zie Azure Spring Apps Standard-verbruik en toegewezen abonnement migreren naar Azure Container Apps voor meer informatie.
Dit artikel is van toepassing op:✅ Java ❎ C#
Dit artikel is van toepassing op: ❎ Basic ✅ Standard ✅ Enterprise
In dit artikel wordt uitgelegd hoe u een faseringsimplementatie instelt met behulp van het blauwgroene implementatiepatroon in Azure Spring Apps. Blauw-groene implementatie is een azure DevOps-patroon voor continue levering dat afhankelijk is van het live houden van een bestaande (blauwe) versie terwijl een nieuwe (groene) versie wordt geïmplementeerd. In dit artikel wordt beschreven hoe u die faseringsimplementatie in productie plaatst zonder de productie-implementatie te wijzigen.
Vereisten
- Een bestaand Azure Spring Apps-exemplaar in het Standard-abonnement.
- Azure CLI.
In dit artikel wordt een toepassing gebruikt die is gebouwd op basis van Spring Initializr. Als u een andere toepassing voor dit voorbeeld wilt gebruiken, moet u een wijziging aanbrengen in een openbaar deel van de toepassing om uw faseringsimplementatie te onderscheiden van de productie-implementatie.
Tip
Azure Cloud Shell is een gratis interactieve shell die u kunt gebruiken om de instructies in dit artikel uit te voeren. Het bevat algemene, vooraf geïnstalleerde Azure-hulpprogramma's, waaronder de nieuwste versies van Git, JDK, Maven en de Azure CLI. Als u bent aangemeld bij uw Azure-abonnement, start u uw Cloud Shell-exemplaar. Zie Overzicht van Azure Cloud Shell voor meer informatie.
Als u blauwgroene implementatie wilt instellen in Azure Spring Apps, volgt u de instructies in de volgende secties.
De Azure CLI-extensie installeren
Installeer de Azure Spring Apps-extensie voor de Azure CLI met behulp van de volgende opdracht:
az extension add --name spring
De app en implementaties voorbereiden
Voer de volgende stappen uit om de toepassing te bouwen:
Genereer de code voor de voorbeeld-app met behulp van Spring Initializr met deze configuratie.
Download de code.
Voeg het volgende HelloController.java bronbestand toe aan de map *\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!"; } }
Bouw het .jar-bestand :
mvn clean package -DskipTests
Maak de app in uw Azure Spring Apps-exemplaar:
az spring app create \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-instance-name> \ --name demo \ --runtime-version Java_17 \ --assign-endpoint
Implementeer de 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
Wijzig de code voor uw faseringsimplementatie:
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"; } }
Bouw het .jar-bestand opnieuw op:
mvn clean package -DskipTests
Maak de groene implementatie:
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
Apps en implementaties weergeven
Gebruik de volgende stappen om geïmplementeerde apps weer te geven.
Ga naar uw Azure Spring Apps-exemplaar in Azure Portal.
Open vanuit het navigatiedeelvenster het deelvenster Apps om apps voor uw service-exemplaar weer te geven.
Selecteer een app om details weer te geven.
Open Implementaties om alle implementaties van de app te bekijken. In het raster worden zowel productie- als faseringsimplementaties weergegeven.
Selecteer de URL om de momenteel geïmplementeerde toepassing te openen.
Selecteer Productie in de kolom Status om de standaard-app weer te geven.
Selecteer Fasering in de kolom Status om de faserings-app weer te geven.
Tip
Controleer of uw testeindpunt eindigt op een slash (/) om ervoor te zorgen dat het CSS-bestand correct is geladen. Als u in uw browser aanmeldingsreferenties moet invoeren om de pagina weer te geven, gebruikt u URL-decodering om uw testeindpunt te decoderen. URL-decode retourneert een URL in de indeling https://\<username>:\<password>@\<cluster-name>.test.azuremicroservices.io/demo/green
. Gebruik deze indeling om toegang te krijgen tot uw eindpunt. Als u basisverificatie voor uw testeindpunt wilt uitschakelen, voert u de volgende Azure CLI-opdracht uit: az spring app update --resource-group <resource-group-name> --service <Azure-Spring-Apps-instance-name> --name demo --disable-test-endpoint-auth true
Notitie
De configuratieserverinstellingen zijn van toepassing op zowel uw faseringsomgeving als uw productieomgeving. Als u bijvoorbeeld het contextpad (server.servlet.context-path) instelt voor uw app-demo in de configuratieserver als een pad, verandert het pad naar de groene implementatie in https://\<username>:\<password>@\<cluster-name>.test.azuremicroservices.io/demo/green/somepath/...
.
Als u op dit moment uw openbare app-demo bezoekt, ziet u de oude pagina zonder de nieuwe wijziging.
De groene implementatie instellen als productieomgeving
Nadat u de wijziging in uw faseringsomgeving hebt geverifieerd, kunt u deze naar productie pushen. Selecteer op de pagina Apps-implementaties> de toepassing die momenteel in Productie is.
Selecteer het beletselteken na de registratiestatus van de groene implementatie en selecteer Vervolgens Instellen als productie.
Controleer of de URL van de app uw wijzigingen weergeeft.
Notitie
Nadat u de groene implementatie als productieomgeving hebt ingesteld, wordt de vorige implementatie de faseringsimplementatie.
De faseringsimplementatie wijzigen
Als u niet tevreden bent met uw wijziging, kunt u uw toepassingscode wijzigen, een nieuw .jar-pakket bouwen en uploaden naar uw groene implementatie met behulp van de Azure CLI:
az spring app deploy \
--resource-group <resource-group-name> \
--service <service-instance-name> \
--name demo \
--deployment green \
--artifact-path demo.jar
De faseringsimplementatie verwijderen
Als u uw faseringsimplementatie wilt verwijderen uit Azure Portal, gaat u naar de pagina voor uw faseringsimplementatie en selecteert u de knop Verwijderen .
U kunt uw faseringsimplementatie ook verwijderen uit de Azure CLI door de volgende opdracht uit te voeren:
az spring app deployment delete \
--resource-group <resource-group-name> \
--service <service-instance-name> \
--name <staging-deployment-name> \
--app demo