Поделиться через


Развертывание приложений Spring Boot с помощью Maven

Примечание.

Azure Spring Apps — это новое название службы Azure Spring Cloud. Старое название будет еще некоторое время встречаться в наших материалах, пока мы не обновим ресурсы, такие как снимки экрана, видео и схемы.

Эта статья применима к: ✔️ Java ❌ C#

Эта статья относится к: ✔️ Basic/Standard ✔️ Enterprise

В этой статье показано, как использовать подключаемый модуль Azure Spring Apps Maven для настройки и развертывания приложений в Azure Spring Apps.

Необходимые компоненты

Создание проекта Spring

Чтобы создать проект Spring для использования в этой статье, выполните следующие действия.

  1. Перейдите в Spring Initializr, чтобы создать пример проекта с рекомендуемыми зависимостями для Azure Spring Apps. Эта ссылка использует следующий URL-адрес для предоставления параметров по умолчанию.

    https://start.spring.io/#!type=maven-project&language=java&platformVersion=2.5.7&packaging=jar&jvmVersion=1.8&groupId=com.example&artifactId=hellospring&name=hellospring&description=Demo%20project%20for%20Spring%20Boot&packageName=com.example.hellospring&dependencies=web,cloud-eureka,actuator,cloud-config-client
    

    На рисунке ниже показан рекомендованный Spring Initializr, настроенный для этого примера проекта.

    Снимок экрана: страница Spring Initializr с рекомендуемыми параметрами.

    В этом примере используется версия Java 8. Если вы хотите использовать версию Java 11, измените параметр в разделе Метаданные проекта.

  2. Щелкните Создать, если все зависимости заданы.

  3. Загрузите и распакуйте пакет, а затем создайте веб-контроллер для веб-приложения. Добавьте src/main/java/com/example/hellospring/HelloController.java со следующим содержимым:

    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!";
        }
    
    }
    

Локальное создание приложений для Spring

Чтобы создать проект с помощью Maven, выполните следующие команды:

cd hellospring
mvn clean package -DskipTests -Denv=cloud

Компиляция проекта занимает несколько минут. По завершении у вас должны быть отдельные JAR-файлы для каждой службы в соответствующих папках.

Подготовка экземпляра Azure Spring Apps

Следующая процедура создает экземпляр Azure Spring Apps с помощью портала Azure.

  1. На новой вкладке откройте портал Azure.

  2. В поле поиска вверху введите Azure Spring Apps.

  3. Выберите пункт Azure Spring Apps в списке результатов.

  4. На странице Azure Spring Apps выберите Создать.

    Снимок экрана: портал Azure, на котором показан ресурс Azure Spring Apps с выделенной кнопкой

  5. Заполните форму на странице Создание Azure Spring Apps. Ознакомьтесь со следующими рекомендациями:

    • Подписка: выберите подписку, которую вы хотите заставить за этот ресурс.
    • Группа ресурсов. Создание групп ресурсов для новых ресурсов — это рекомендация. Это имя группы ресурсов будет использоваться в последующих шагах в качестве <имени группы ресурсов>.
    • Сведения о службе или ее название. Укажите <имя экземпляра службы>. Его длина должна быть от 4 до 32 знаков. Имя может содержать только строчные буквы, цифры и дефисы. Первым символом в имени службы должна быть буква, а последним — буква или цифра.
    • Расположение. Выберите регион для экземпляра службы.

    Снимок экрана: портал Azure, на котором показана страница создания Azure Spring Apps.

  6. Выберите Просмотр и создание.

Создание конфигураций и развертывание в Azure Spring Apps

Чтобы создать конфигурации и развернуть приложение, выполните следующие действия.

  1. Выполните следующую команду из корневой папки hellospring, где находится POM-файл. Если вы уже выполнили вход с помощью Azure CLI, команда автоматически использует учетные данные. В противном случае команда предложит вам выполнить инструкции по входу. Дополнительные сведения см. разделе Проверка подлинности репозитория azure-maven-plugins.

    mvn com.microsoft.azure:azure-spring-apps-maven-plugin:1.10.0:config
    

    Вам будет предложено выбрать следующее:

    • ИД подписки — это ваша подписка, используемая для создания экземпляра Azure Spring Apps.
    • Экземпляр службы — имя вашего экземпляра Azure Spring Apps.
    • Имя приложения — выбранное вами имя приложения (либо можно использовать значение по умолчанию artifactId).
    • Общедоступная конечная точка  - значение true, чтобы предоставить приложению открытый доступ; в противном случае — значение false.
  2. Убедитесь, что элемент appName в POM-файле имеет правильное значение. Соответствующая часть POM-файла должна выглядеть примерно так, как показано в следующем примере.

    <build>
        <plugins>
            <plugin>
                <groupId>com.microsoft.azure</groupId>
                <artifactId>azure-spring-apps-maven-plugin</artifactId>
                <version>1.10.0</version>
                <configuration>
                    <subscriptionId>xxxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx</subscriptionId>
                    <clusterName>v-spr-cld</clusterName>
                    <appName>hellospring</appName>
    

    Теперь POM-файл содержит зависимости и конфигурации подключаемого модуля.

  3. Разверните приложение с помощью следующей команды.

    mvn azure-spring-apps:deploy
    

Проверка служб

По завершении развертывания приложение будет доступно по адресу https://<service instance name>-hellospring.azuremicroservices.io/.

Снимок экрана: приложение hello spring, как показано в браузере.

Очистка ресурсов

Если вы планируете продолжить работу с примером приложения, эти ресурсы можно не удалять. Если приложение больше не требуется, удалите группу ресурсов, содержащую экземпляр Azure Spring Apps. Чтобы удалить группу ресурсов с помощью Azure CLI, используйте следующие команды:

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."

Следующие шаги