Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Notitie
De Basic, Standarden Enterprise--plannen zijn op 17 maart 2025 buiten gebruik gesteld. Zie de aankondiging over buitengebruikstelling van Azure Spring 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 -DskipTestsMaak 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-endpointImplementeer 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.jarWijzig 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 -DskipTestsMaak 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 Staging in de Statuskolom om de staging-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 inloggegevens moet invoeren om de pagina weer te geven, gebruik 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) voor uw app-demo instelt op de configuratieserver als somepath, 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 de toepassing die momenteel in >
Klik op het beletselteken na de registratiestatus van de groene implementatie en klik vervolgens op 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