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

Uwaga

Azure Spring Apps to nowa nazwa usługi Azure Spring Cloud. Mimo że usługa ma nową nazwę, stara nazwa będzie widoczna w niektórych miejscach przez pewien czas, ponieważ pracujemy nad aktualizowaniem zasobów, takich jak zrzuty ekranu, filmy wideo i diagramy.

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.

Wymagania wstępne

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.

Napiwek

Usługa Azure Cloud Shell to bezpłatna interaktywna powłoka, której można użyć do uruchamiania instrukcji 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 zalogowano się do subskrypcji platformy Azure, uruchom wystąpienie usługi 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 witrynie Azure Portal.

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

    Zrzut ekranu przedstawiający okienko Aplikacje z aplikacjami dla wystąpienia 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. Siatka przedstawia wdrożenia produkcyjne i przejściowe.

    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 pozycję Przejściowe w kolumnie State (Stan ), aby wyświetlić aplikację przejściową.

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

Napiwek

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.

Uwaga

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 pokazu aplikacji na serwerze konfiguracji jako ścieżkę 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 pokaz publicznej aplikacji, powinna zostać wyświetlona stara strona bez nowej zmiany.

Ustawianie zielonego wdrożenia jako środowiska produkcyjnego

  1. Po zweryfikowaniu zmiany w środowisku przejściowym możesz wypchnąć go do środowiska produkcyjnego. Na stronie Wdrożenia aplikacji>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 opcje ustawiania kompilacji przejściowej na produkcyjną.

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

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

Uwaga

Po ustawieniu zielonego wdrożenia jako środowiska produkcyjnego poprzednie wdrożenie stanie się wdrożeniem przejściowym.

Modyfikowanie wdrożenia przejściowego

Jeśli zmiana nie jest zadowolona, możesz zmodyfikować kod aplikacji, skompilować nowy pakiet .jar i przekazać go do zielonego wdrożenia przy użyciu interfejsu wiersza polecenia platformy Azure:

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

Usuwanie wdrożenia przejściowego

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

Następne kroki