Delen via


Een faseringsomgeving instellen in Azure Spring Apps

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:

  1. Genereer de code voor de voorbeeld-app met behulp van Spring Initializr met deze configuratie.

  2. Download de code.

  3. 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!";
      }
    
    }
    
  4. Bouw het .jar-bestand :

    mvn clean package -DskipTests
    
  5. 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
    
  6. 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
    
  7. 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";
      }
    
    }
    
  8. Bouw het .jar-bestand opnieuw op:

    mvn clean package -DskipTests
    
  9. 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.

  1. Ga naar uw Azure Spring Apps-exemplaar in Azure Portal.

  2. Open vanuit het navigatiedeelvenster het deelvenster Apps om apps voor uw service-exemplaar weer te geven.

    Schermopname van het deelvenster Apps met apps voor uw service-exemplaar.

  3. Selecteer een app om details weer te geven.

    Schermopname van de demo-app met de pagina Overzicht met beschikbare instellingen.

  4. Open Implementaties om alle implementaties van de app te bekijken. In het raster worden zowel productie- als faseringsimplementaties weergegeven.

    Schermopname van vermelde app-implementaties.

  5. Selecteer de URL om de momenteel geïmplementeerde toepassing te openen.

    Schermopname van de URL van de geïmplementeerde toepassing.

  6. Selecteer Productie in de kolom Status om de standaard-app weer te geven.

    Schermopname van de URL van de standaard-app.

  7. Selecteer Staging in de Statuskolom om de staging-app weer te geven.

    Schermopname die de URL van de staging app toont.

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

  1. Nadat u de wijziging in uw faseringsomgeving hebt geverifieerd, kunt u deze naar productie pushen. Selecteer op de de toepassing die momenteel in >

  2. Klik op het beletselteken na de registratiestatus van de groene implementatie en klik vervolgens op instellen als productie.

    Schermopname die selecties toont voor het instellen van de staging-build naar de productieomgeving.

  3. Controleer of de URL van de app uw wijzigingen weergeeft.

    Schermopname van de URL van de app die nu in productie is.

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

Volgende stappen