Настройка промежуточной среды в Azure Spring Apps
Примечание.
Azure Spring Apps — это новое название службы Azure Spring Cloud. Старое название будет еще некоторое время встречаться в наших материалах, пока мы не обновим ресурсы, такие как снимки экрана, видео и схемы.
Эта статья применима к: ✔️ Java ❌ C#
Эта статья относится к:❌ Basic ✔️ Standard ✔️ Enterprise
В этой статье объясняется, как настроить промежуточное развертывание с помощью стратегии сине-зеленого развертывания в Azure Spring Apps. Сине-зеленое развертывание — это шаблон непрерывной поставки Azure DevOps, который предполагает сохранение существующей (синей) версии при развертывании новой (зеленой). В этой статье мы покажем вам, как перевести это промежуточное развертывание в рабочее без непосредственного изменения рабочего развертывания.
Необходимые компоненты
- Существующий экземпляр Azure Spring Apps в плане "Стандартный".
- Azure CLI.
В этой статье используется приложение, созданное на основе Spring Initializr. Если вы хотите использовать другое приложение для этого примера, внесите изменения в общедоступную часть приложения, чтобы отличить промежуточное развертывание от рабочего развертывания.
Совет
Azure Cloud Shell — это бесплатная интерактивная оболочка, с помощью которой можно выполнять действия, описанные в этой статье. Она содержит предварительно установленные общие инструменты Azure вместе с новейшими версиями Git, JDK, Maven и Azure CLI. Если вы вошли в свою подписку Azure, запустите экземпляр Cloud Shell. Дополнительные сведения см. в Обзоре Azure Cloud Shell.
Чтобы настроить сине-зеленое развертывание в Azure Spring Apps, следуйте инструкциям в следующих разделах.
Установка расширения Azure CLI
Установите расширение Azure Spring Apps для Azure CLI с помощью следующей команды:
az extension add --name spring
Подготовка приложения и развертываний
Чтобы создать приложение, выполните следующие действия:
Создайте код для примера приложения, используя Spring Initializr с этой конфигурацией.
Скачайте код.
Добавьте следующий исходный файл HelloController.java в папку *\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!"; } }
Выполните сборку JAR-файла:
mvn clean package -DskipTests
Создайте приложение в экземпляре 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
Разверните приложение в 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
Измените код для промежуточного развертывания:
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"; } }
Перестройте JAR-файл:
mvn clean package -DskipTests
Создайте зеленое развертывание:
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
Просмотр приложений и развертываний
Чтобы просмотреть развернутые приложения, выполните следующие действия.
Перейдите к экземпляру своей службы Azure Spring Apps на портале Azure.
В области навигации откройте область "Приложения" , чтобы просмотреть приложения для экземпляра службы.
Выберите приложение для просмотра сведений.
Откройте панель Развертывания, чтобы просмотреть все развертывания приложения. В сетке отображаются как рабочие, так и промежуточные развертывания.
Выберите URL-адрес, чтобы открыть развернутое приложение.
Выберите Рабочее в столбце Состояние, чтобы просмотреть приложение по умолчанию.
Выберите Промежуточное в столбце Состояние, чтобы просмотреть промежуточное приложение.
Совет
Убедитесь, что тестовая конечная точка заканчивается косой чертой (/), чтобы убедиться, что CSS-файл загружен правильно. Если в браузере для просмотра страницы требуется ввести учетные данные, используйте параметр Декодировать в URL-адресе для декодирования тестовой конечной точки. Декодирование URL-адресов возвращает URL-адрес в формате https://\<username>:\<password>@\<cluster-name>.test.azuremicroservices.io/demo/green
. Используйте его для доступа к конечной точке. Если вы хотите отключить базовую проверку подлинности для тестовой конечной точки, выполните следующую команду Azure CLI: az spring app update --resource-group <resource-group-name> --service <Azure-Spring-Apps-instance-name> --name demo --disable-test-endpoint-auth true
Примечание.
Параметры сервера конфигурации применяются как к промежуточной, так и рабочей среде. Например, если задать путь контекста (server.servlet.context-path) для демонстрации приложения на сервере конфигурации в качестве некоторого пути, путь к зеленому развертыванию изменяется https://\<username>:\<password>@\<cluster-name>.test.azuremicroservices.io/demo/green/somepath/...
.
Если вы посещаете демонстрацию общедоступного приложения на этом этапе, вы увидите старую страницу без нового изменения.
Установка зеленого развертывания в качестве рабочей среды
После проверки изменений в промежуточной среде вы можете переместить их в рабочую среду. На странице Приложения>Развертывания выберите приложение, которое в настоящее время находится в Рабочей среде.
Выберите многоточие после Состояние регистрации зеленого развертывания, а затем выберите Установить как рабочую среду.
Убедитесь, что в URL-адресе приложения отображаются изменения.
Примечание.
Когда зеленое развертывание будет установлено в рабочей среде, предыдущее развертывание станет промежуточным.
Изменение промежуточного развертывания
Если вас не устраивают изменения, вы можете изменить код приложения, создать JAR-пакет и отправить его в зеленое развертывание с помощью Azure CLI:
az spring app deploy \
--resource-group <resource-group-name> \
--service <service-instance-name> \
--name demo \
--deployment green \
--artifact-path demo.jar
Удаление промежуточного развертывания
Чтобы удалить промежуточное развертывание из портала Azure, перейдите на страницу промежуточного развертывания и нажмите кнопку Удалить.
Или удалите промежуточное развертывание из Azure CLI с помощью следующей команды:
az spring app deployment delete \
--resource-group <resource-group-name> \
--service <service-instance-name> \
--name <staging-deployment-name> \
--app demo