Konfigurowanie środowiska przejściowego w usłudze Azure Spring Apps
Uwaga
Plany Podstawowa, Standardowa i Enterprise zostaną wycofane od połowy marca 2025 r. z 3-letnim okresem emerytalnym. Zalecamy przejście do usługi Azure Container Apps. Aby uzyskać więcej informacji, zobacz ogłoszenie o wycofaniu usługi Azure Spring Apps.
Zużycie standardowe i dedykowany plan zostaną wycofane od 30 września 2024 r. z całkowitym zamknięciem po sześciu miesiącach. Zalecamy przejście do usługi Azure Container Apps. Aby uzyskać więcej informacji, zobacz Migrowanie użycia usługi Azure Spring Apps w warstwie Standardowa i dedykowanego planu do usługi Azure Container 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.
Wymagania wstępne
- Istniejące wystąpienie usługi Azure Spring Apps w planie w warstwie Standardowa.
- Interfejs wiersza polecenia platformy Azure.
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:
Wygeneruj kod przykładowej aplikacji przy użyciu narzędzia Spring Initializr z tą konfiguracją.
Pobierz kod.
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!"; } }
Skompiluj plik .jar :
mvn clean package -DskipTests
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
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
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"; } }
Skompiluj ponownie plik .jar :
mvn clean package -DskipTests
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.
Przejdź do wystąpienia usługi Azure Spring Apps w witrynie Azure Portal.
W okienku nawigacji otwórz okienko Aplikacje , aby wyświetlić aplikacje dla wystąpienia usługi.
Wybierz aplikację, aby wyświetlić szczegóły.
Otwórz pozycję Wdrożenia , aby wyświetlić wszystkie wdrożenia aplikacji. Siatka przedstawia wdrożenia produkcyjne i przejściowe.
Wybierz adres URL, aby otworzyć aktualnie wdrożona aplikacja.
Wybierz pozycję Produkcja w kolumnie State ( Stan ), aby wyświetlić domyślną aplikację.
Wybierz pozycję Przejściowe w kolumnie State (Stan ), aby wyświetlić aplikację przejściową.
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. 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
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
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.
Wybierz wielokropek po stanie rejestracji zielonego wdrożenia, a następnie wybierz pozycję Ustaw jako środowisko produkcyjne.
Upewnij się, że adres URL aplikacji wyświetla zmiany.
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