Краткое руководство. Создание приложения Java в службе приложение Azure

В этом кратком руководстве вы будете использовать подключаемый модуль Maven для службы приложение Azure веб-приложения для развертывания веб-приложения Java на сервере Linux Tomcat в службе приложение Azure. Служба приложений предоставляет высокомасштабируемую веб-службу размещения веб-приложений. Используйте вкладки для переключения между инструкциями по Tomcat, JBoss или внедренным серверам (Java SE).

Screenshot of Maven Hello World web app running in Azure App Service.

Если вы не хотите использовать Maven в качестве средства разработки, ознакомьтесь с аналогичными руководствами для разработчиков Java:

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.

1. Использование Azure Cloud Shell

В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.

Начало работы с Azure Cloud Shell

Вариант Пример и ссылка
Нажмите кнопку Попробовать в правом верхнем углу блока кода или команд. При нажатии кнопки Попробовать код или команда не копируется в Cloud Shell автоматически. Screenshot that shows an example of Try It for Azure Cloud Shell.
Чтобы открыть Cloud Shell в браузере, перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell. Button to launch Azure Cloud Shell.
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Чтобы использовать Azure Cloud Shell, выполните следующие действия:

  1. Запустите Cloud Shell.

  2. Нажмите кнопку Копировать в блоке кода (или блоке команд), чтобы скопировать код или команду.

  3. Вставьте код или команду в окно сеанса Cloud Shell, нажав клавиши CTRL+SHIFT+V в Windows и Linux или CMD+SHIFT+V в macOS.

  4. Нажмите клавишу ВВОД, чтобы запустить код или команду.

2. Создание приложения Java

В приглашении Cloud Shell выполните следующую команду Maven, чтобы создать новое веб-приложение с именем helloworld.

mvn archetype:generate "-DgroupId=example.demo" "-DartifactId=helloworld" "-DarchetypeArtifactId=maven-archetype-webapp" "-DarchetypeVersion=1.4" "-Dversion=1.0-SNAPSHOT"

Затем измените рабочую папку на папку проекта:

cd helloworld

3. Настройка подключаемого модуля Maven

Процесс развертывания для службы приложение Azure использует учетные данные Azure из Azure CLI автоматически. Если Azure CLI не установлен локально, подключаемый модуль Maven проходит проверку подлинности с помощью OAuth или входа устройства. Дополнительные сведения см. в статье о проверке подлинности с помощью подключаемых модулей Maven.

Выполните команду Maven, показанную рядом с настройкой развертывания. Эта команда помогает настроить Служба приложений операционную систему, версию Java и версию Tomcat.

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.12.0:config
  1. Для создания конфигурации запуска введите Y и введите ввод.

  2. Для определения значения ос введите 1 для Windows или 2 для Linux, а затем введите.

  3. Для определения значения javaVersion введите 3 для Java 17, а затем введите.

  4. Для определения значения для webContainer введите 1 для Tomcat 10.0 , а затем введите.

  5. Для определения значения для ценообразования введите 9 для P1v2, а затем Введите.

  6. Для подтверждения введите Y и введите ввод.

    Please confirm webapp properties
    AppName : helloworld-1690440759246
    ResourceGroup : helloworld-1690440759246-rg
    Region : centralus
    PricingTier : P1v2
    OS : Linux
    Java Version: Java 17
    Web server stack: Tomcat 10.0
    Deploy to slot : false
    Confirm (Y/N) [Y]: 
    [INFO] Saving configuration to pom.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  13.069 s
    [INFO] Finished at: 2023-07-27T06:52:48Z
    [INFO] ------------------------------------------------------------------------
    

После подтверждения выбора подключаемый модуль добавляет приведенный выше элемент подключаемого модуля и необходимые параметры в файл pom.xml проекта, который позволяет настроить веб-приложение для запуска в Службе приложений Azure.

Соответствующая часть pom.xml файла должна выглядеть примерно так, как показано в следующем примере.

<build>
    <plugins>
        <plugin>
            <groupId>com.microsoft.azure</groupId>
            <artifactId>>azure-webapp-maven-plugin</artifactId>
            <version>x.xx.x</version>
            <configuration>
                <schemaVersion>v2</schemaVersion>
                <resourceGroup>your-resourcegroup-name</resourceGroup>
                <appName>your-app-name</appName>
            ...
            </configuration>
        </plugin>
    </plugins>
</build>           

Вы можете изменить другие параметры Службы приложений непосредственно в pom.xml. Некоторые распространенные конфигурации перечислены в следующей таблице:

Свойство Обязательное поле Описание Версия
<schemaVersion> false Указывает версию схемы конфигурации. Поддерживаемые значения: v1 и v2. 1.5.2
<subscriptionId> false Укажите идентификатор подписки. Версия 0.1.0 и выше
<resourceGroup> true Группа ресурсов Azure для вашего веб-приложения. Версия 0.1.0 и выше
<appName> true Название вашего веб-приложения. Версия 0.1.0 и выше
<region> false Указывает регион для размещения веб-приложения; Значение по умолчанию — centralus. Определить допустимые регионы можно в разделе Поддерживаемые регионы. Версия 0.1.0 и выше
<pricingTier> false Ценовая категория веб-приложения. Для производственной рабочей нагрузки по умолчанию задано значение P1v2. Вариант B2 является рекомендуемым минимумом для разработки и тестирования в среде Java. Дополнительные сведения см. на странице цен на службу приложений. Версия 0.1.0 и выше
<runtime> false Конфигурация среды выполнения. Дополнительные сведения см. в разделе Дополнительные сведения о конфигурации. Версия 0.1.0 и выше
<deployment> false Конфигурация развертывания. Дополнительные сведения см. в разделе Дополнительные сведения о конфигурации. Версия 0.1.0 и выше

Полный список конфигураций см. в справочной документации по подключаемым модулям. Все подключаемые модули Azure Maven используют общий набор конфигураций. Для этих конфигураций см . общие конфигурации. Сведения о конфигурациях, относящихся к Служба приложений, см. в разделе "Веб-приложение Azure: сведения о конфигурации".

Будьте внимательны к значениям <appName> и <resourceGroup> (helloworld-1690440759246 и helloworld-1690440759246-rg соответственно в демонстрации). Они используются позже.

4. Развертывание приложения

Все конфигурации, готовые к использованию в файле pom.xml, можно развернуть приложение Java в Azure с помощью одной команды.

mvn package azure-webapp:deploy

После завершения развертывания приложение будет готово http://<appName>.azurewebsites.net/ (http://helloworld-1690440759246.azurewebsites.net в демонстрационной версии). Откройте URL-адрес в своем локальном веб-браузере. Вы должны увидеть следующее:

Screenshot of Maven Hello World web app running in Azure App Service.

Поздравляем! Вы развернули свое первое приложение Java в службе приложений.

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

На предыдущем шаге вы создали ресурсы Azure в группе ресурсов. Если эти ресурсы вам не понадобятся в будущем, вы можете удалить группу ресурсов из портала, или выполнив приведенную ниже команду в Cloud Shell.

az group delete --name <your resource group name; for example: helloworld-1690440759246-rg> --yes

Ее выполнение может занять до минуты.

В этом кратком руководстве вы используете подключаемый модуль Maven для службы приложение Azure веб-приложения для развертывания веб-приложения Java с внедренным сервером в службе приложение Azure. Служба приложений предоставляет высокомасштабируемую веб-службу размещения веб-приложений. Используйте вкладки для переключения между инструкциями по Tomcat, JBoss или внедренным серверам (Java SE).

Краткое руководство развертывает приложение Spring Boot, внедренное приложение Tomcat или Quarkus с помощью подключаемого модуля подключаемого модуля azure-webapp-maven-plugin .

Примечание.

Служба приложений может размещать приложения Spring. Для приложений Spring, требующих всех служб Spring, попробуйте использовать Azure Spring Apps .

Если вы не хотите использовать Maven в качестве средства разработки, ознакомьтесь с аналогичными руководствами для разработчиков Java:

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.

1. Использование Azure Cloud Shell

В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.

Начало работы с Azure Cloud Shell

Вариант Пример и ссылка
Нажмите кнопку Попробовать в правом верхнем углу блока кода или команд. При нажатии кнопки Попробовать код или команда не копируется в Cloud Shell автоматически. Screenshot that shows an example of Try It for Azure Cloud Shell.
Чтобы открыть Cloud Shell в браузере, перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell. Button to launch Azure Cloud Shell.
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Чтобы использовать Azure Cloud Shell, выполните следующие действия:

  1. Запустите Cloud Shell.

  2. Нажмите кнопку Копировать в блоке кода (или блоке команд), чтобы скопировать код или команду.

  3. Вставьте код или команду в окно сеанса Cloud Shell, нажав клавиши CTRL+SHIFT+V в Windows и Linux или CMD+SHIFT+V в macOS.

  4. Нажмите клавишу ВВОД, чтобы запустить код или команду.

2. Получение примера приложения

  1. Скачайте и извлеките шаблон веб-приложения Spring Boot по умолчанию. Этот репозиторий клонируется при выполнении команды spring boot new my-webappSpring CLI.

    git clone https://github.com/rd-1-2022/rest-service my-webapp
    
  2. Измените рабочий каталог на папку проекта:

    cd my-webapp
    

3. Настройка подключаемого модуля Maven

Процесс развертывания для службы приложение Azure использует учетные данные Azure из Azure CLI автоматически. Если Azure CLI не установлен локально, подключаемый модуль Maven проходит проверку подлинности с помощью OAuth или входа устройства. Дополнительные сведения см. в статье о проверке подлинности с помощью подключаемых модулей Maven.

Выполните команду Maven, показанную рядом с настройкой развертывания. Эта команда помогает настроить Служба приложений операционную систему, версию Java и версию Tomcat.

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.13.0:config
  1. Для создания конфигурации запуска введите Y и введите ввод.

  2. Для определения значения ос введите 2 для Linux, а затем введите.

  3. Для определения значения javaVersion введите 1 для Java 17, а затем введите.

  4. Для определения значения для ценообразования введите 9 для P1v2, а затем Введите.

  5. Для подтверждения введите Y и введите ввод.

    Please confirm webapp properties
    AppName : <generated-app-name>
    ResourceGroup : <generated-app-name>-rg
    Region : centralus
    PricingTier : P1v2
    OS : Linux
    Java Version: Java 17
    Web server stack: Java SE
    Deploy to slot : false
    Confirm (Y/N) [Y]: y
    [INFO] Saving configuration to pom.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  8.139 s
    [INFO] Finished at: 2023-07-26T12:42:48Z
    [INFO] ------------------------------------------------------------------------
    

После подтверждения выбора подключаемый модуль добавляет указанный выше элемент подключаемого модуля и необходимые параметры в файл проектаpom.xml, который настраивает веб-приложение для запуска в службе приложение Azure.

Соответствующая часть pom.xml файла должна выглядеть примерно так, как показано в следующем примере.

<build>
    <plugins>
        <plugin>
            <groupId>com.microsoft.azure</groupId>
            <artifactId>>azure-webapp-maven-plugin</artifactId>
            <version>x.xx.x</version>
            <configuration>
                <schemaVersion>v2</schemaVersion>
                <resourceGroup>your-resourcegroup-name</resourceGroup>
                <appName>your-app-name</appName>
            ...
            </configuration>
        </plugin>
    </plugins>
</build>           

Вы можете изменить другие параметры Службы приложений непосредственно в pom.xml. Некоторые распространенные конфигурации перечислены в следующей таблице:

Свойство Обязательное поле Описание Версия
<schemaVersion> false Указывает версию схемы конфигурации. Поддерживаемые значения: v1 и v2. 1.5.2
<subscriptionId> false Укажите идентификатор подписки. Версия 0.1.0 и выше
<resourceGroup> true Группа ресурсов Azure для вашего веб-приложения. Версия 0.1.0 и выше
<appName> true Название вашего веб-приложения. Версия 0.1.0 и выше
<region> false Указывает регион для размещения веб-приложения; Значение по умолчанию — centralus. Определить допустимые регионы можно в разделе Поддерживаемые регионы. Версия 0.1.0 и выше
<pricingTier> false Ценовая категория веб-приложения. Для производственной рабочей нагрузки по умолчанию задано значение P1v2. Вариант B2 является рекомендуемым минимумом для разработки и тестирования в среде Java. Дополнительные сведения см. на странице цен на службу приложений. Версия 0.1.0 и выше
<runtime> false Конфигурация среды выполнения. Дополнительные сведения см. в разделе Дополнительные сведения о конфигурации. Версия 0.1.0 и выше
<deployment> false Конфигурация развертывания. Дополнительные сведения см. в разделе Дополнительные сведения о конфигурации. Версия 0.1.0 и выше

Полный список конфигураций см. в справочной документации по подключаемым модулям. Все подключаемые модули Azure Maven используют общий набор конфигураций. Для этих конфигураций см . общие конфигурации. Сведения о конфигурациях, относящихся к Служба приложений, см. в разделе "Веб-приложение Azure: сведения о конфигурации".

Будьте осторожны со значениями <appName> и <resourceGroup>. Они используются позже.

4. Развертывание приложения

Все конфигурации, готовые к использованию в файле pom.xml, можно развернуть приложение Java в Azure с помощью одной команды.

  1. Создайте JAR-файл с помощью следующей команды:

    mvn clean package
    
  2. Развертывание в Azure с помощью следующей команды:

    mvn azure-webapp:deploy
    

    Если развертывание выполнено успешно, вы увидите следующие выходные данные:

    [INFO] Successfully deployed the artifact to https://<app-name>.azurewebsites.net
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  02:20 min
    [INFO] Finished at: 2023-07-26T12:47:50Z
    [INFO] ------------------------------------------------------------------------
    

После завершения развертывания приложение будет готово http://<appName>.azurewebsites.net/. Откройте URL-адрес http://<appName>.azurewebsites.net/greeting с помощью локального веб-браузера (запишите /greeting путь), и вы увидите следующее:

Screenshot of Spring Boot Hello World web app running in Azure App Service.

Поздравляем! Вы развернули первое приложение Java для Служба приложений.

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

На предыдущем шаге вы создали ресурсы Azure в группе ресурсов. Если эти ресурсы вам не понадобятся в будущем, вы можете удалить группу ресурсов из портала, или выполнив приведенную ниже команду в Cloud Shell.

az group delete --name <your resource group name; for example: quarkus-hello-azure-1690375364238-rg> --yes

На выполнение этой команды может потребоваться около минуты времени.

В этом кратком руководстве вы будете использовать подключаемый модуль Maven для службы приложение Azure веб-приложения для развертывания веб-приложения Java на сервере JBoss EAP Linux в службе приложение Azure. Служба приложений предоставляет высокомасштабируемую веб-службу размещения веб-приложений. Используйте вкладки для переключения между инструкциями по Tomcat, JBoss или внедренным серверам (Java SE).

Screenshot of Maven Hello World web app running in Azure App Service.

Если вы не хотите использовать Maven в качестве средства разработки, ознакомьтесь с аналогичными руководствами для разработчиков Java:

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.

1. Использование Azure Cloud Shell

В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.

Начало работы с Azure Cloud Shell

Вариант Пример и ссылка
Нажмите кнопку Попробовать в правом верхнем углу блока кода или команд. При нажатии кнопки Попробовать код или команда не копируется в Cloud Shell автоматически. Screenshot that shows an example of Try It for Azure Cloud Shell.
Чтобы открыть Cloud Shell в браузере, перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell. Button to launch Azure Cloud Shell.
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Чтобы использовать Azure Cloud Shell, выполните следующие действия:

  1. Запустите Cloud Shell.

  2. Нажмите кнопку Копировать в блоке кода (или блоке команд), чтобы скопировать код или команду.

  3. Вставьте код или команду в окно сеанса Cloud Shell, нажав клавиши CTRL+SHIFT+V в Windows и Linux или CMD+SHIFT+V в macOS.

  4. Нажмите клавишу ВВОД, чтобы запустить код или команду.

2. Создание приложения Java

Клонируйте демонстрационное приложение для магазина Pet.

git clone https://github.com/Azure-Samples/app-service-java-quickstart

Измените каталог на завершенный проект хранилища домашних животных и создайте его.

Совет

Для petstore-ee7 примера требуется Java 11 или более поздней версии. Для booty-duke-app-service примера проекта требуется Java 17. Если установленная версия Java меньше 17, запустите сборку из petstore-ee7 каталога, а не на верхнем уровне.

cd app-service-java-quickstart
git checkout 20230308
cd petstore-ee7
mvn clean install

Если появится сообщение об отключенном состоянии HEAD , это сообщение безопасно игнорировать. Так как вы не сделаете фиксацию Git в этом кратком руководстве, отключенное состояние HEAD подходит.

3. Настройка подключаемого модуля Maven

Процесс развертывания для службы приложение Azure использует учетные данные Azure из Azure CLI автоматически. Если Azure CLI не установлен локально, подключаемый модуль Maven проходит проверку подлинности с помощью OAuth или входа устройства. Дополнительные сведения см. в статье о проверке подлинности с помощью подключаемых модулей Maven.

Выполните команду Maven, показанную рядом с настройкой развертывания. Эта команда помогает настроить Служба приложений операционную систему, версию Java и версию Tomcat.

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.12.0:config
  1. Для создания конфигурации запуска введите Y и введите ввод.

  2. Для определения значения ос введите 2 для Linux, а затем введите.

  3. Для определения значения javaVersion введите 2 для Java 11, а затем введите.

  4. Для параметра webContainer введите 1 для Jbosseap 7, а затем введите.

  5. Для определения значения для ценообразования введите 1 для P1v3, а затем введите.

  6. Для подтверждения введите Y и введите ввод.

    Please confirm webapp properties
    AppName : petstoreee7-1690443003536
    ResourceGroup : petstoreee7-1690443003536-rg
    Region : centralus
    PricingTier : P1v3
    OS : Linux
    Java Version: Java 11
    Web server stack: Jbosseap 7
    Deploy to slot : false
    Confirm (Y/N) [Y]: 
    [INFO] Saving configuration to pom.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  19.914 s
    [INFO] Finished at: 2023-07-27T07:30:20Z
    [INFO] ------------------------------------------------------------------------
    

После подтверждения выбора подключаемый модуль добавляет приведенный выше элемент подключаемого модуля и необходимые параметры в файл pom.xml проекта, который позволяет настроить веб-приложение для запуска в Службе приложений Azure.

Соответствующая часть pom.xml файла должна выглядеть примерно так, как показано в следующем примере.

<build>
    <plugins>
        <plugin>
            <groupId>com.microsoft.azure</groupId>
            <artifactId>>azure-webapp-maven-plugin</artifactId>
            <version>x.xx.x</version>
            <configuration>
                <schemaVersion>v2</schemaVersion>
                <resourceGroup>your-resourcegroup-name</resourceGroup>
                <appName>your-app-name</appName>
            ...
            </configuration>
        </plugin>
    </plugins>
</build>           

Вы можете изменить другие параметры Службы приложений непосредственно в pom.xml. Некоторые распространенные конфигурации перечислены в следующей таблице:

Свойство Обязательное поле Описание Версия
<schemaVersion> false Указывает версию схемы конфигурации. Поддерживаемые значения: v1 и v2. 1.5.2
<subscriptionId> false Укажите идентификатор подписки. Версия 0.1.0 и выше
<resourceGroup> true Группа ресурсов Azure для вашего веб-приложения. Версия 0.1.0 и выше
<appName> true Название вашего веб-приложения. Версия 0.1.0 и выше
<region> false Указывает регион для размещения веб-приложения; Значение по умолчанию — centralus. Определить допустимые регионы можно в разделе Поддерживаемые регионы. Версия 0.1.0 и выше
<pricingTier> false Ценовая категория веб-приложения. Для производственной рабочей нагрузки по умолчанию задано значение P1v2. Вариант B2 является рекомендуемым минимумом для разработки и тестирования в среде Java. Дополнительные сведения см. на странице цен на службу приложений. Версия 0.1.0 и выше
<runtime> false Конфигурация среды выполнения. Дополнительные сведения см. в разделе Дополнительные сведения о конфигурации. Версия 0.1.0 и выше
<deployment> false Конфигурация развертывания. Дополнительные сведения см. в разделе Дополнительные сведения о конфигурации. Версия 0.1.0 и выше

Полный список конфигураций см. в справочной документации по подключаемым модулям. Все подключаемые модули Azure Maven используют общий набор конфигураций. Для этих конфигураций см . общие конфигурации. Сведения о конфигурациях, относящихся к Служба приложений, см. в разделе "Веб-приложение Azure: сведения о конфигурации".

Будьте внимательны к значениям <appName> и <resourceGroup> (petstoreee7-1690443003536 и petstoreee7-1690443003536-rg соответственно в демонстрации). Они используются позже.

4. Развертывание приложения

Все конфигурации, готовые к использованию в файле pom.xml, можно развернуть приложение Java в Azure с помощью одной команды.

# Disable testing, as it requires Wildfly to be installed locally.
mvn package azure-webapp:deploy -DskipTests

После завершения развертывания приложение будет готово http://<appName>.azurewebsites.net/ (http://petstoreee7-1690443003536.azurewebsites.net в демонстрационной версии). Откройте URL-адрес в своем локальном веб-браузере. Вы должны увидеть следующее:

Screenshot of Maven Hello World web app running in Azure App Service.

Поздравляем! Вы развернули свое первое приложение Java в службе приложений.

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

На предыдущем шаге вы создали ресурсы Azure в группе ресурсов. Если эти ресурсы вам не понадобятся в будущем, вы можете удалить группу ресурсов из портала, или выполнив приведенную ниже команду в Cloud Shell.

az group delete --name <your resource group name; for example: petstoreee7-1690443003536-rg> --yes

Ее выполнение может занять до минуты.

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