Een faseringsomgeving instellen in Azure Spring Apps

Notitie

Azure Spring Apps is de nieuwe naam voor de Azure Spring Cloud-service. Hoewel de service een nieuwe naam heeft, ziet u de oude naam op sommige plaatsen terwijl we werken aan het bijwerken van assets, zoals schermopnamen, video's en diagrammen.

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 Fasering in de kolom Status om de faserings-app weer te geven.

    Schermopname van de URL van de faserings-app.

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.

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

  1. 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.

  2. Selecteer het beletselteken na de registratiestatus van de groene implementatie en selecteer Vervolgens Instellen als productie.

    Schermopname van selecties voor het instellen van de faseringsbuild naar productie.

  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