Udostępnij przez


Konfigurowanie środowiska przejściowego w usłudze Azure Spring Apps

Note

Plany Podstawowy, Standardowy i Enterprise weszły w okres wycofania z dniem 17 marca 2025 r. Aby uzyskać więcej informacji, zobacz ogłoszenie o wycofaniu usługi Azure Spring Apps.

Ten artykuł dotyczy:✅ Java ❎ C#

Ten artykuł dotyczy: ❎ Basic Standard ✅ Enterprise

W tym artykule wyjaśniono, jak skonfigurować wdrożenie przejściowe przy użyciu niebieskiego zielonego wzorca wdrażania w usłudze Azure Spring Apps. Wdrożenie niebiesko-zielone to wzorzec ciągłego dostarczania usługi Azure DevOps, który polega na utrzymaniu istniejącej (niebieskiej) wersji podczas wdrażania nowej (zielonej). W tym artykule pokazano, jak umieścić to przejściowe wdrożenie w środowisku produkcyjnym bez zmiany wdrożenia produkcyjnego.

Prerequisites

W tym artykule użyto aplikacji utworzonej na podstawie narzędzia Spring Initializr. Jeśli w tym przykładzie chcesz użyć innej aplikacji, wprowadź zmianę w publicznej części aplikacji, aby odróżnić wdrożenie przejściowe od wdrożenia produkcyjnego.

Tip

Azure Cloud Shell to bezpłatna interaktywna powłoka, której można użyć do wykonywania poleceń w tym artykule. Ma typowe, wstępnie zainstalowane narzędzia platformy Azure, w tym najnowsze wersje narzędzi Git, JDK, Maven i interfejsu wiersza polecenia platformy Azure. Jeśli jesteś zalogowany do swojej subskrypcji Azure, uruchom wystąpienie Cloud Shell. Aby dowiedzieć się więcej, zobacz Omówienie usługi Azure Cloud Shell.

Aby skonfigurować wdrożenie blue-green w usłudze Azure Spring Apps, postępuj zgodnie z instrukcjami w następnych sekcjach.

Instalowanie rozszerzenia interfejsu wiersza polecenia platformy Azure

Zainstaluj rozszerzenie Azure Spring Apps dla interfejsu wiersza polecenia platformy Azure przy użyciu następującego polecenia:

az extension add --name spring

Przygotowywanie aplikacji i wdrożeń

Aby skompilować aplikację, wykonaj następujące kroki:

  1. Wygeneruj kod przykładowej aplikacji przy użyciu narzędzia Spring Initializr z tą konfiguracją.

  2. Pobierz kod.

  3. Dodaj następujący plik źródłowy HelloController.java do folderu **\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. Skompiluj plik .jar :

    mvn clean package -DskipTests
    
  5. Utwórz aplikację w wystąpieniu usługi Azure Spring Apps:

    az spring app create \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name demo \
        --runtime-version Java_17 \
        --assign-endpoint
    
  6. Wdróż aplikację w usłudze 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. Zmodyfikuj kod wdrożenia przejściowego:

    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. Skompiluj ponownie plik .jar :

    mvn clean package -DskipTests
    
  9. Utwórz zielone wdrożenie:

    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
    

Wyświetlanie aplikacji i wdrożeń

Aby wyświetlić wdrożone aplikacje, wykonaj następujące czynności.

  1. Przejdź do wystąpienia usługi Azure Spring Apps w portalu Azure.

  2. W okienko nawigacji otwórz okienko Aplikacje, aby wyświetlić aplikacje dla instancji usługi.

    Zrzut ekranu przedstawiający okno aplikacji z aplikacjami dostępnych dla instancji usługi.

  3. Wybierz aplikację, aby wyświetlić szczegóły.

    Zrzut ekranu przedstawiający aplikację demonstracyjną z wyświetloną stroną Przegląd z dostępnymi ustawieniami.

  4. Otwórz pozycję Wdrożenia , aby wyświetlić wszystkie wdrożenia aplikacji. Tabela przedstawia wdrożenia produkcyjne i testowe.

    Zrzut ekranu przedstawiający wymienione wdrożenia aplikacji.

  5. Wybierz adres URL, aby otworzyć aktualnie wdrożona aplikacja.

    Zrzut ekranu przedstawiający adres URL wdrożonej aplikacji.

  6. Wybierz pozycję Produkcja w kolumnie State (Stan ), aby wyświetlić domyślną aplikację.

    Zrzut ekranu przedstawiający adres URL domyślnej aplikacji.

  7. Wybierz Staging w kolumnie State (Stan), aby wyświetlić stagingową aplikację.

    Zrzut ekranu przedstawiający adres URL aplikacji przejściowej.

Tip

Upewnij się, że punkt końcowy testu kończy się ukośnikiem (/), aby upewnić się, że plik CSS został załadowany poprawnie. Jeśli przeglądarka wymaga wprowadzenia poświadczeń logowania w celu wyświetlenia strony, użyj dekodowania adresu URL, aby zdekodować testowy punkt końcowy. Dekodowanie adresu URL zwraca adres URL w formacie https://\<username>:\<password>@\<cluster-name>.test.azuremicroservices.io/demo/green. Użyj tego formatu, aby uzyskać dostęp do punktu końcowego. Jeśli chcesz wyłączyć uwierzytelnianie podstawowe dla testowego punktu końcowego, uruchom następujące polecenie interfejsu wiersza polecenia platformy Azure: az spring app update --resource-group <resource-group-name> --service <Azure-Spring-Apps-instance-name> --name demo --disable-test-endpoint-auth true

Note

Ustawienia serwera konfiguracji dotyczą zarówno środowiska przejściowego, jak i środowiska produkcyjnego. Jeśli na przykład ustawisz ścieżkę kontekstu (server.servlet.context-path) dla demonstracji aplikacji na serwerze konfiguracji jako somepath, ścieżka do zielonego wdrożenia zmieni się na https://\<username>:\<password>@\<cluster-name>.test.azuremicroservices.io/demo/green/somepath/....

Jeśli w tym momencie odwiedzisz demo aplikacji dostępnej publicznie, powinna zostać wyświetlona stara strona, a Ty nie zobaczysz swoich nowych zmian.

Ustaw zielone wdrożenie jako środowisko produkcyjne

  1. Po zweryfikowaniu zmian w środowisku przejściowym możesz wdrożyć je do środowiska produkcyjnego. Na stronieWdrożenia> wybierz aplikację obecnie w obszarze Produkcja.

  2. Wybierz wielokropek po stanie rejestracji zielonego wdrożenia, a następnie wybierz pozycję Ustaw jako środowisko produkcyjne.

    Zrzut ekranu przedstawiający ustawienia zmiany kompilacji testowej na produkcyjną.

  3. Upewnij się, że adres URL aplikacji wyświetla zmiany.

    Zrzut ekranu przedstawiający adres URL aplikacji w środowisku produkcyjnym.

Note

Po ustawieniu zielonego wdrożenia jako środowiska produkcyjnego, poprzednie wdrożenie stanie się środowiskiem testowym.

Modyfikowanie wdrożenia przejściowego

Jeśli zmiana Cię nie satysfakcjonuje, możesz zmodyfikować kod aplikacji, skompilować nowy pakiet .jar i przesłać go do zielonego wdrożenia za pomocą interfejsu wiersza polecenia Azure.

az spring app deploy \
    --resource-group <resource-group-name> \
    --service <service-instance-name> \
    --name demo \
    --deployment green \
    --artifact-path demo.jar

Usunąć wdrożenie etapowe

Aby usunąć wdrożenie przejściowe z witryny Azure Portal, przejdź do strony wdrożenia przejściowego i wybierz przycisk Usuń .

Możesz też usunąć wdrożenie przejściowe z poziomu interfejsu wiersza polecenia platformy Azure, uruchamiając następujące polecenie:

az spring app deployment delete \
    --resource-group <resource-group-name> \
    --service <service-instance-name> \
    --name <staging-deployment-name> \
    --app demo

Dalsze kroki