Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
Планы Basic, Standardи Enterprise вступили в период вывода из обращения 17 марта 2025 года. Дополнительные сведения см. в объявлении о выходе на пенсию в Azure Spring Apps.
План стандартного потребления и выделенный план вошли в период вывода из эксплуатации 30 сентября 2024 года, с полным завершением работы к концу марта 2025 года. Дополнительные сведения см. в статье «Миграция потребления и выделенного плана Azure Spring Apps Standard в приложения контейнеров Azure».
Эта статья относится к: ❎ Basic/Standard ✅ Enterprise
В этой статье показано, как развертывать приложения polyglot в плане Azure Spring Apps Enterprise и как эти приложения polyglot могут использовать функции службы сборки, предоставляемые пакетами сборок.
Предварительные условия
- Уже развернутый экземпляр плана Azure Spring Apps Enterprise. Дополнительные сведения см. в кратком руководстве по созданию и развертыванию приложений в Azure Spring Apps с использованием плана Enterprise.
-
Azure CLI версии 2.45.0 или более поздней. Чтобы установить расширение Azure Spring Apps, выполните следующую команду:
az extension add --name spring
Развертывать многоязычные приложения в экземпляре службы
Этот раздел относится к созданию и развертыванию приложений polyglot при включении службы сборки. Если отключить службу сборки, можно развертывать приложения только с помощью пользовательского образа контейнера. Вы можете создать собственный образ или использовать образ, созданный экземпляром Azure Spring Apps Enterprise. Дополнительные сведения см. в статье «Развертывание приложения с помощью пользовательского образа контейнера».
Управление построителями
При создании экземпляра Azure Spring Apps Enterprise необходимо выбрать построитель по умолчанию из одного из следующих поддерживаемых пакетов сборок семейства языков:
- Java Azure Buildpack для VMware Tanzu
- Buildpack .NET Core для VMware Tanzu
- Go Buildpack для VMware Tanzu
- Сборка веб-серверов для VMware Tanzu
- Node.js Buildpack для VMware Tanzu
- Python Buildpack для VMware Tanzu
- Пакет сборки образов Java native для VMware Tanzu
- PHP Buildpack для VMware Tanzu
Дополнительные сведения см. в разделе "Сборки семейства языков" для VMware Tanzu.
Эти пакеты сборки поддерживают создание исходного кода или артефактов для Java, .NET Core, Go, статических веб-файлов, Node.js и приложений Python. При создании или просмотре сборщика также отображаются версии билдпаков. И вы можете создать пользовательский построитель, указав пакеты сборки и стек.
Все сборщики, настроенные в экземпляре службы Azure Spring Apps, перечислены на странице Служба сборки, как показано на следующем снимке экрана.
Нажмите кнопку Добавить, чтобы создать новый элемент. На следующем снимке экрана показаны ресурсы, которые следует использовать для создания настроенного конструктора. Стек ОС включает Bionic Base
, Bionic Full
, Jammy Tiny
, Jammy Base
и Jammy Full
. Бионик основан на Ubuntu 18.04 (Bionic Beaver)
, и Джеймми основан на Ubuntu 22.04 (Jammy Jellyfish)
. Для получения дополнительной информации см. раздел Рекомендации по стеку ОС.
Рекомендуем использовать Jammy OS Stack
для создания вашего конструктора, так как VMware прекращает поддержку Bionic OS Stack
.
Вы также можете редактировать пользовательский конструктор, если конструктор не используется в развертывании. Вы можете обновить сборочные пакеты или стек ОС, но имя построителя доступно только для чтения.
Сборщик — это ресурс, который постоянно вносит вклад в ваши развертывания. Он предоставляет последние образы среды выполнения и последние пакеты сборки.
Вы не можете удалить сборщик, если с его помощью создаются активные развертывания. Чтобы удалить конструктор в этом состоянии, выполните следующие действия.
- Сохраните конфигурацию как новый сборщик.
- Разверните приложения с помощью нового конструктора. Развертывания связаны с новым построителем.
- Перенесите развертывания от предыдущего построителя к новому построителю.
- Удалите оригинального строителя.
Рекомендации по стеку ОС
В Azure Spring Apps мы рекомендуем использовать Jammy OS Stack
для построения, так как Bioinic OS Stack
планируется к устареванию компанией VMware. В следующем списке описаны доступные параметры:
Jammy Tiny: Подходит для создания минимального образа для достижения наименьшего возможного размера и уровня защищенности. Как и создание собственного образа Java, он может уменьшить окончательный образ контейнера. Интегрированные библиотеки ограничены. Например, вы не можете подключиться к экземпляру приложения для устранения неполадок , так как нет
shell
библиотеки.- Большинство приложений Go.
- Приложения Java. Некоторые параметры конфигурации Apache Tomcat, такие как настройка bin/setenv.sh, недоступны, так как Tiny не имеет оболочки.
Jammy Base: подходит для большинства приложений без собственных расширений.
- Приложения Java и приложения .NET Core.
- Перейдите к приложениям, которым требуются некоторые библиотеки C.
- Node.js, приложения Python или веб-серверы без собственных расширений.
Jammy Full: включает большинство библиотек и подходит для приложений с собственными расширениями. Например, он включает более полную библиотеку шрифтов. Если ваше приложение полагается на нативное расширение, тогда используйте стек
Full
.- Node.js или приложения Python с собственными расширениями.
Дополнительные сведения см. в разделе Ubuntu Stacks документации VMware.
Управление реестром контейнеров
В этом разделе показано, как управлять реестром контейнеров, используемым службой сборки, если включить службу сборки с собственным реестром контейнеров. Если включить службу сборки с помощью управляемого реестра контейнеров Azure Spring Apps, можно пропустить этот раздел.
После того как вы включили реестр контейнеров пользователя со службой сборки, вы можете просмотреть и настроить реестр с помощью портала Azure или Azure CLI.
Чтобы отобразить, добавить, изменить и удалить реестр контейнеров, выполните следующие действия.
Откройте портал Azure.
Выберите реестр контейнеров в области навигации.
Нажмите кнопку "Добавить ", чтобы создать реестр контейнеров.
Для реестра контейнеров нажмите кнопку с многоточием (...), а затем нажмите кнопку "Изменить ", чтобы просмотреть конфигурацию реестра.
Просмотрите значения на странице "Изменение реестра контейнеров".
Чтобы удалить реестр контейнеров, нажмите кнопку с многоточием (...), а затем нажмите кнопку "Удалить ", чтобы удалить реестр. Если реестр контейнеров используется службой сборки, его нельзя удалить.
Служба сборки может использовать реестр контейнеров, а также изменить связанный реестр контейнеров. Этот процесс занимает много времени. Когда произойдут изменения, все ресурсы билдера и сборки будут перестроены под сервисом сборки, а затем конечные образы контейнеров будут отправлены в новый реестр контейнеров.
Чтобы переключить реестр контейнеров, связанный со службой сборки, выполните следующие действия.
Откройте портал Azure.
Выберите Сервис сборки в области навигации.
Выберите реестр контейнеров, на который ссылается ссылка, чтобы обновить реестр контейнеров для службы сборки.
Создание и развертывание многоязыковых приложений
Вы можете создавать и развертывать приложения polyglot следующими способами с помощью реестра контейнеров:
Для службы сборки с помощью управляемого реестра контейнеров Azure Spring Apps можно создать образ приложения, а затем развернуть его в текущем экземпляре службы Azure Spring Apps. Сборка и развертывание выполняются вместе с помощью
az spring app deploy
команды.Для службы сборки с помощью реестра контейнеров, управляемого пользователем, можно создать образ контейнера для приложения, а затем развернуть образ в текущем экземпляре Azure Spring Apps Enterprise и других экземплярах. Команды сборки и развертывания разделены. Вы можете использовать команду сборки для создания или обновления сборки, а затем использовать команду развертывания для развертывания образа контейнера в экземпляре службы.
Для получения дополнительной информации см. раздел «Служба сборки по запросу» в документе «Использование службы сборки Tanzu».
В следующих примерах показаны некоторые полезные команды сборки для использования.
az configure --defaults group=<resource-group-name> spring=<service-name>
az spring build-service build list
az spring build-service build show --name <build-name>
az spring build-service build create --name <build-name> --artifact-path <artifact-path>
az spring build-service build update --name <build-name> --artifact-path <artifact-path>
az spring build-service build delete --name <build-name>
В следующих примерах Azure CLI показано создание и развертывание файла артефакта для двух сценариев реестра контейнеров:
- Управляемый реестр контейнеров Azure Spring Apps.
- Реестр контейнеров, управляемый пользователем.
В этом примере выполняется сборка и развертывание в одной команде. Следующая команда указывает сборщика для создания приложения в образ контейнера, а затем развертывает приложение непосредственно в экземпляре сервиса Azure Spring Apps Enterprise.
Если вы не укажете построитель, будет использован построитель default
.
az spring app deploy \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <app-name> \
--builder <builder-name> \
--artifact-path <path-to-your-JAR-file>
При развертывании приложения с файлом артефакта используйте --artifact-path
для указания пути к файлу. КАК JAR-файлы, так и WAR допустимы.
Если Azure CLI обнаруживает пакет WAR как тонкий JAR-файл, используйте --disable-validation
для отключения проверки.
В следующем примере папка с исходным кодом разворачивается в активное развертывание с помощью параметра --source-path
для указания папки.
az spring app deploy \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <app-name> \
--builder <builder-name> \
--source-path <path-to-source-code>
Вы также можете настроить среду сборки для создания приложения. Например, в приложении Java можно указать версию JDK с помощью среды сборки BP_JVM_VERSION
.
Чтобы указать среды сборки, используйте --build-env
, как показано в следующем примере. Доступные переменные среды сборки описаны далее в этой статье.
Следующая команда развертывает приложение:
az spring app deploy \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <app-name> \
--build-env <key1=value1> <key2=value2> \
--builder <builder-name> \
--artifact-path <path-to-your-JAR-file>
Для каждой сборки можно также указать ресурсы сборки, как показано в следующем примере.
Следующая команда развертывает приложение:
az spring app deploy \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <app-name> \
--build-env <key1=value1> <key2=value2> \
--build-cpu <build-cpu-size> \
--build-memory <build-memory-size> \
--builder <builder-name> \
--artifact-path <path-to-your-JAR-file>
Ресурс ЦП и памяти сборки по умолчанию — 1 vCPU, 2 Gi
. Если приложению требуется меньше или больше памяти, используйте --build-memory
для указания ресурсов памяти , например, 500Mi
, 1Gi
2Gi
и т. д. Если приложению требуется меньшее или большее количество ресурсов ЦП, используйте для --build-cpu
указания ресурсов ЦП , например, 500m
, 1
2
и т. д. Максимальное ограничение ресурсов процессора и памяти для сборки составляет 8 vCPU, 16Gi
.
Ресурсы ЦП и памяти ограничены размером пула агентов службы сборки. Дополнительную информацию см. в разделе Пул агентов сборки в Use Tanzu Build Service. Суммарная квота ресурсов для обработки не может превышать размер пула агентов.
Параллельное число задач сборки зависит от размера пула агентов и каждого ресурса сборки. Например, если ресурс сборки по умолчанию — это 1 vCPU, 2 Gi
, а размер пула агентов — 6 vCPU, 12 Gi
, то число параллельных сборок равно 6.
Другие задачи сборки блокируются в течение некоторого времени из-за ограничений квоты ресурсов.
Приложение должно прослушивать порт 8080. Приложения Spring Boot автоматически переопределяют SERVER_PORT
, чтобы использовать порт 8080.
Поддерживаемые языки для развертываний
В следующей таблице указаны функции, поддерживаемые для каждого языка.
Функция | Java | Python | Узел | .NET Core | Иди | Static Files | Нативное изображение Java | PHP |
---|---|---|---|---|---|---|---|---|
Управление жизненным циклом приложений | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Назначение конечной точки | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Azure Monitor | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
Интеграция APM из коробки | ✅ | |||||||
Развертывание "Синий/Зеленый" | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Личный домен | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Масштабирование — автоматическое масштабирование | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
Масштабирование — масштабирование вручную (вертикальное увеличение/уменьшение, горизонтальное увеличение/уменьшение) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Управляемое удостоверение | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ️ | ✅ |
Портал API для VMware Tanzu | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Spring Cloud Gateway для VMware Tanzu | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Служба конфигурации приложений для VMware Tanzu | ✅ | ✅ | ||||||
Реестр служб VMware Tanzu | ✅ | ✅ | ||||||
Представление режима реального времени для VMware Tanzu | ✅ | ✅ | ||||||
Виртуальная сеть | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Исходящий IP-адрес | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Сквозной протокол TLS | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Расширенное устранение неполадок — дамп потока, кучи или JFR | ✅ | |||||||
Принесите своё хранилище | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Интеграция связи сервиса с соединителем ресурсов | ✅ | ✅ | ||||||
Зона доступности | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
События жизненного цикла приложения | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Уменьшенный размер приложения — 0,5 виртуальных ЦП и 512 МБ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Автоматизация развертываний приложений с помощью Terraform и задачи Azure Pipeline | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Мягкое удаление | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Интерактивный процесс диагностики (на основе AppLens) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Соглашение об уровне обслуживания (SLA) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Настройка проверок работоспособности | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Подключение к веб-оболочке для устранения неполадок | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ️ ✅ | ✅ |
Удаленная отладка | ✅ | ️ | ️ | ️ |
Дополнительные сведения о поддерживаемых конфигурациях для разных языковых приложений см. в соответствующем разделе далее в этой статье.
Ограничения нативных образов Java
Native Image — это технология компиляции кода Java заранее в собственный исполняемый файл. Собственные образы обеспечивают различные преимущества, такие как мгновенное запуск и сокращение потребления памяти. Вы можете упаковать нативные образы в облегченный контейнерный образ для более быстрого и эффективного развертывания. Из-за оптимизации закрытого мира применяются следующие ограничения :
- Для следующих функций Java требуется настройка во время сборки исполняемого файла:
- Загрузка динамического класса
- Отражение
- Динамический прокси-сервер
- JNI (собственный интерфейс Java)
- Сериализация
- Байт-код больше недоступен во время выполнения, поэтому отладка и мониторинг с помощью средств, предназначенных для JVMTI, невозможна.
Следующие функции не поддерживаются в Azure Spring Apps из-за ограничений Java Native Image. Azure Spring Apps будет поддерживать их после того, как сообщество справится с ограничением Java Native Image.
Функция | Почему она не поддерживается |
---|---|
Azure Monitor | Встроенные образы GraalVM не поддерживают метрики JVM. |
Масштабирование — автомасштабирование | Встроенные образы GraalVM не поддерживают метрики JVM. |
Внестандартная интеграция APM | APM Vendor и Buildpack не поддерживают родной образ. |
Управляемая идентичность | Пакеты SDK Azure не поддерживают родной образ. |
Расширенное устранение неполадок — дамп потока/кучи/JFR | Созданные нативные образы GraalVM не поддерживают дамп потоков, кучи или JFR. |
Удаленная отладка | Собственный образ GraalVM не поддерживает удаленную отладку. |
Подключение без пароля с помощью коннектора службы | Azure SDK для Java не поддерживает нативный образ. |
Примечание.
В следующих разделах конфигурации сборки и развертывания на разных языках --build-env
означает, что среда используется на этапе сборки.
--env
означает, что среда используется на этапе выполнения.
Рекомендуется указать языковую версию в случае изменения версии по умолчанию. Например, используйте --build-env BP_JVM_VERSION=11.*
для указания Java 11 как версию JDK. Для других языков можно получить имя переменной среды в следующих описаниях для каждого языка.
Развертывание приложений Java
Пакет buildpack для развертывания приложений Java — tanzu-buildpacks/java-azure.
В следующей таблице перечислены функции, поддерживаемые в Azure Spring Apps:
Описание функции | Комментарий | Переменная среды | Использование |
---|---|---|---|
Предоставляет Microsoft OpenJDK. | Настраивает версию JVM. Версия JDK по умолчанию — 17. В настоящее время поддерживается JDK 8, 11, 17 и 21. | BP_JVM_VERSION |
--build-env BP_JVM_VERSION=11.* |
Среда выполнения. Конфигурирует, будет ли включено отслеживание нативной памяти Java (NMT). Значение по умолчанию — true . Не поддерживается в JDK 8. |
BPL_JAVA_NMT_ENABLED |
--env BPL_JAVA_NMT_ENABLED=true |
|
Настраивает уровень детализации для отчетов о работе Java Native Memory Tracking (NMT). Значение по умолчанию — summary . Установите значение detail для получения подробных выходных данных NMT. |
BPL_JAVA_NMT_LEVEL |
--env BPL_JAVA_NMT_ENABLED=summary |
|
Добавьте сертификаты ЦС в хранилище доверия системы во время сборки и выполнения. | См. раздел «Настройка сертификатов ЦС для сборок и развертываний приложений» в «Как настроить интеграцию APM и сертификаты ЦС». | Неприменимо | Неприменимо |
Интеграция с Application Insights, Dynatrace, Elastic, New Relic, агентом App Dynamics APM. | См. как настроить интеграцию APM и сертификаты удостоверяющего центра. | Неприменимо | Неприменимо |
Разверните пакет WAR с помощью Apache Tomcat или TomEE. | Задайте используемый сервер приложений. Установите tomcat , чтобы использовать Tomcat, и tomee , чтобы использовать TomEE. Значение по умолчанию — tomcat . |
BP_JAVA_APP_SERVER |
--build-env BP_JAVA_APP_SERVER=tomee |
Поддержка приложений Spring Boot. | Указывает, следует ли добавлять поддержку привязок Spring Cloud для образа на этапе сборки. Значение по умолчанию — false . |
BP_SPRING_CLOUD_BINDINGS_DISABLED |
--build-env BP_SPRING_CLOUD_BINDINGS_DISABLED=false |
Указывает, следует ли автоматически настроить свойства среды Spring Boot из привязок во время выполнения. Эта функция требует, чтобы привязки Spring Cloud были установлены уже во время сборки, в противном случае она не будет работать. Значение по умолчанию — false . |
BPL_SPRING_CLOUD_BINDINGS_DISABLED |
--env BPL_SPRING_CLOUD_BINDINGS_DISABLED=false |
|
Поддержка создания приложений на основе Maven из исходных файлов. | Используется для проекта с несколькими модулями. Указывает, в каком модуле искать артефакт приложения. По умолчанию используется корневой модуль (пустой). | BP_MAVEN_BUILT_MODULE |
--build-env BP_MAVEN_BUILT_MODULE=./gateway |
Поддержка создания приложений на основе Gradle из источника. | Используется для проекта с несколькими модулями. Указывает, в каком модуле искать артефакт приложения. По умолчанию используется корневой модуль (пустой). | BP_GRADLE_BUILT_MODULE |
--build-env BP_GRADLE_BUILT_MODULE=./gateway |
Включите конфигурацию меток на созданном образе. | Настраивает метки, указанные OCI, с короткими именами переменных среды, а также произвольные метки, используя разделяемый пробелами синтаксис в единой переменной среды. | BP_IMAGE_LABELS BP_OCI_AUTHORS Дополнительные переменные среды см. здесь. |
--build-env BP_OCI_AUTHORS=<value> |
Интеграция агента JProfiler. | Указывает, следует ли интегрировать поддержку JProfiler. Значение по умолчанию — false . |
BP_JPROFILER_ENABLED |
Этап сборки: --build-env BP_JPROFILER_ENABLED=true Этап выполнения: --env BPL_JPROFILER_ENABLED=true BPL_JPROFILER_PORT=<port> (необязательно, по умолчанию используется 8849 ) BPL_JPROFILER_NOWAIT=true (необязательно. Указывает, выполняется ли JVM перед присоединением JProfiler. Значение по умолчанию — true .) |
Указывает, следует ли включить поддержку JProfiler во время выполнения. Значение по умолчанию — false . |
BPL_JPROFILER_ENABLED |
--env BPL_JPROFILER_ENABLED=false |
|
Указывает, какой порт прослушивает агент JProfiler. Значение по умолчанию — 8849 . |
BPL_JPROFILER_PORT |
--env BPL_JPROFILER_PORT=8849 |
|
Указывает, выполняется ли JVM до того, как к нему подключается JProfiler. Значение по умолчанию — true . |
BPL_JPROFILER_NOWAIT |
--env BPL_JPROFILER_NOWAIT=true |
|
Интегрируйте агента JRebel. | Приложение должно содержать файл rebel-remote.xml . | Неприменимо | Неприменимо |
AES шифрует приложение во время сборки, а затем расшифровывает его во время запуска. | Ключ AES, используемый во время сборки. | BP_EAR_KEY |
--build-env BP_EAR_KEY=<value> |
Ключ AES, используемый во время выполнения. | BPL_EAR_KEY |
--env BPL_EAR_KEY=<value> |
|
Интегрируйте агента AspectJ Weaver. | < >APPLICATION_ROOT/*aop.xml существует и aspectj-weaver.*.jar существует. | Неприменимо | Неприменимо |
Развертывание приложений .NET
Пакет buildpack для развертывания приложений .NET — tanzu-buildpacks/dotnet-core.
В следующей таблице перечислены функции, поддерживаемые в Azure Spring Apps:
Описание функции | Комментарий | Переменная среды | Использование |
---|---|---|---|
Настройте версию среды выполнения .NET Core. | Поддерживает Net8.0 и Net9.0 . Можно настроить с помощью файла проекта runtimeconfig.json или MSBuild. Среда выполнения по умолчанию — 8.0.* . |
Неприменимо | Неприменимо |
Добавьте сертификаты ЦС в хранилище доверия системы во время сборки и выполнения. | См. раздел «Настройка сертификатов ЦС для сборок и развертываний приложений» в «Как настроить интеграцию APM и сертификаты ЦС». | Неприменимо | Неприменимо |
Интеграция с агентами Dynatrace и New Relic APM. | См. как настроить интеграцию APM и сертификаты удостоверяющего центра. | Неприменимо | Неприменимо |
Включите конфигурацию меток на созданном образе. | Настраивает метки, указанные OCI, с короткими именами переменных среды, а также произвольные метки, используя разделяемый пробелами синтаксис в единой переменной среды. | BP_IMAGE_LABELS BP_OCI_AUTHORS Дополнительные переменные среды см. здесь. |
--build-env BP_OCI_AUTHORS=<value> |
Развертывание приложений Python
Пакет buildpack для развертывания приложений Python — tanzu-buildpacks/python.
В следующей таблице перечислены функции, поддерживаемые в Azure Spring Apps:
Описание функции | Комментарий | Переменная среды | Использование |
---|---|---|---|
Укажите версию Python. | Поддерживает 3.9.* , , 3.10.* 3.11.* 3.12.* , . 3.13.* Значение по умолчанию — 3.10.* .Вы можете указать версию с помощью переменной BP_CPYTHON_VERSION среды во время сборки. |
BP_CPYTHON_VERSION |
--build-env BP_CPYTHON_VERSION=3.13.* |
Добавьте сертификаты ЦС в хранилище доверия системы во время сборки и выполнения. | См. раздел «Настройка сертификатов ЦС для сборок и развертываний приложений» в «Как настроить интеграцию APM и сертификаты ЦС». | Неприменимо | Неприменимо |
Включите конфигурацию меток на созданном образе. | Настраивает метки, указанные OCI, с короткими именами переменных среды, а также произвольные метки, используя разделяемый пробелами синтаксис в единой переменной среды. | BP_IMAGE_LABELS BP_OCI_AUTHORS Дополнительные переменные среды см. здесь. |
--build-env BP_OCI_AUTHORS=<value> |
Развертывание приложений Go
Пакет buildpack для развертывания приложений Go — tanzu-buildpacks/go.
В следующей таблице перечислены функции, поддерживаемые в Azure Spring Apps:
Описание функции | Комментарий | Переменная среды | Использование |
---|---|---|---|
Укажите версию Go. | Поддерживает 1.22.* , 1.23.* . Значение по умолчанию — 1.22.* .Версия Go автоматически обнаруживается из файла go.mod приложения. Эту версию можно переопределить, задав BP_GO_VERSION переменную среды во время сборки. |
BP_GO_VERSION |
--build-env BP_GO_VERSION=1.23.* |
Настройте несколько целевых объектов. | Задает несколько целевых объектов для сборки Go. | BP_GO_TARGETS |
--build-env BP_GO_TARGETS=./some-target:./other-target |
Добавьте сертификаты ЦС в хранилище доверия системы во время сборки и выполнения. | См. раздел «Настройка сертификатов ЦС для сборок и развертываний приложений» в «Как настроить интеграцию APM и сертификаты ЦС». | Неприменимо | Неприменимо |
Интеграция с агентом APM Dynatrace. | См. как настроить интеграцию APM и сертификаты удостоверяющего центра. | Неприменимо | Неприменимо |
Включите конфигурацию меток на созданном образе. | Настраивает метки, указанные OCI, с короткими именами переменных среды, а также произвольные метки, используя разделяемый пробелами синтаксис в единой переменной среды. | BP_IMAGE_LABELS BP_OCI_AUTHORS Дополнительные переменные среды см. здесь. |
--build-env BP_OCI_AUTHORS=<value> |
Развертывание приложений Node.js
Пакет buildpack для развертывания Node.js приложений — tanzu-buildpacks/nodejs.
В следующей таблице перечислены функции, поддерживаемые в Azure Spring Apps:
Описание функции | Комментарий | Переменная среды | Использование |
---|---|---|---|
Укажите версию узла. | Поддерживает 18.* , 20.* , 22.* . Значение по умолчанию — 20.* . Версию узла можно указать с помощью файла Nvmrc или node-version в корневом каталоге приложения. BP_NODE_VERSION переопределяет параметры. |
BP_NODE_VERSION |
--build-env BP_NODE_VERSION=20.* |
Добавьте сертификаты ЦС в хранилище доверия системы во время сборки и выполнения. | См. раздел «Настройка сертификатов ЦС для сборок и развертываний приложений» в «Как настроить интеграцию APM и сертификаты ЦС». | Неприменимо | Неприменимо |
Интеграция с Dynatrace, Elastic, New Relic, агентом AppDynamics APM. | См. как настроить интеграцию APM и сертификаты удостоверяющего центра. | Неприменимо | Неприменимо |
Включите конфигурацию меток на созданном образе. | Настраивает метки, указанные OCI, с короткими именами переменных среды, а также произвольные метки, используя разделяемый пробелами синтаксис в единой переменной среды. | BP_IMAGE_LABELS BP_OCI_AUTHORS Дополнительные переменные среды см. здесь. |
--build-env BP_OCI_AUTHORS=<value> |
Разверните приложение Angular с помощью Сервера разработки Angular Live. | Укажите узел перед запуском ng serve в package.json: ng serve --host 0.0.0.0 --port 8080 --public-host <your application domain name> . Доменное имя приложения доступно на странице обзора приложения в разделе URL-адреса. Удалите протокол https:// перед продолжением. |
BP_NODE_RUN_SCRIPTS NODE_ENV |
--build-env BP_NODE_RUN_SCRIPTS=build NODE_ENV=development |
Развертывание приложений WebServer
Пакет сборки для развертывания приложений WebServer — tanzu-buildpacks/web-servers.
Дополнительные сведения см. в разделе "Развертывание статических веб-файлов".
Развертывание приложений на Java Native Image (предварительная версия)
Пакет buildpack для развертывания приложений машинного образа Java — tanzu-buildpacks/java-native-image.
Вы можете развернуть приложения как нативные образы Spring Boot с помощью пакета сборки tanzu-buildpacks/java-native-image
.
Spring Native поддерживает компиляцию приложений Spring Boot в собственные исполняемые файлы. Пакет buildpack использует пакет образов Liberica Native Image Kit (NIK) для создания собственных образов приложений Spring Boot, и эти приложения полностью поддерживаются.
При создании Java Native Image необходимо задать среду сборки на BP_NATIVE_IMAGE
true
, и ресурс памяти сборки не должен быть меньше 8Gi. Размер пула агента службы сборки не должен быть меньше 4 vCPU, 8 Gi
. Дополнительную информацию см. в разделе Пул агентов сборки в Use Tanzu Build Service.
Если вы хотите создать нативный образ в виде образа контейнера меньшего размера, мы рекомендуем использовать построитель со стеком ОС Jammy Tiny
. Для получения дополнительной информации см. раздел Рекомендации по стеку ОС.
В следующей таблице перечислены функции, поддерживаемые в Azure Spring Apps:
Описание функции | Комментарий | Переменная среды | Использование |
---|---|---|---|
Интеграция с Bellsoft OpenJDK. | Настраивает версию JDK. В настоящее время поддерживается JDK 8, 11, 17 и 21. | BP_JVM_VERSION |
--build-env BP_JVM_VERSION=17 |
Настройте аргументы для native-image команды. |
Аргументы для непосредственной передачи команде native-image. Эти аргументы должны быть допустимыми и правильно сформированными, иначе команда native-image завершается ошибкой. | BP_NATIVE_IMAGE_BUILD_ARGUMENTS |
--build-env BP_NATIVE_IMAGE_BUILD_ARGUMENTS="--no-fallback" |
Добавьте сертификаты ЦС в хранилище доверия системы во время сборки и выполнения. | См. как настроить интеграцию APM и сертификаты удостоверяющего центра. | Неприменимо. | Неприменимо. |
Включение конфигурации меток на созданном образе | Настраивает метки, указанные OCI, с короткими именами переменных среды, а также произвольные метки, используя разделяемый пробелами синтаксис в единой переменной среды. | BP_IMAGE_LABELS BP_OCI_AUTHORS Дополнительные переменные среды см. здесь. |
--build-env BP_OCI_AUTHORS=<value> |
Поддержка создания приложений на основе Maven из исходных файлов. | Используется для проекта с несколькими модулями. Указывает, в каком модуле искать артефакт приложения. По умолчанию используется корневой модуль (пустой). | BP_MAVEN_BUILT_MODULE |
--build-env BP_MAVEN_BUILT_MODULE=./gateway |
Существуют некоторые ограничения для нативного образа Java. Дополнительные сведения см. в разделе ограничений Java Native Image.
Развертывание приложений PHP
Пакет buildpack для развертывания приложений PHP — tanzu-buildpacks/php.
Пакет сборки Tanzu PHP совместим только с полным стеком ОС. Рекомендуем использовать билдер с стеком ОС Jammy Full
. Для получения дополнительной информации см. раздел Рекомендации по стеку ОС.
В следующей таблице перечислены функции, поддерживаемые в Azure Spring Apps:
Описание функции | Комментарий | Переменная среды | Использование |
---|---|---|---|
Укажите версию PHP. | Настраивает версию PHP. В настоящее время поддерживается: PHP 8.1.* , 8.2.* и 8.3.* . Значение по умолчанию — 8.1.* . |
BP_PHP_VERSION |
--build-env BP_PHP_VERSION=8.1.* |
Добавьте сертификаты ЦС в хранилище доверия системы во время сборки и выполнения. | См. раздел «Настройка сертификатов ЦС для сборок и развертываний приложений» в «Как настроить интеграцию APM и сертификаты ЦС». | Неприменимо | Неприменимо |
Интеграция с Dynatrace, New Relic, агентом AppDynamics APM. | См. как настроить интеграцию APM и сертификаты удостоверяющего центра. | Неприменимо | Неприменимо |
Выберите веб-сервер. | Параметры: php-server , httpd и nginx . Значение по умолчанию — php-server . |
BP_PHP_SERVER |
--build-env BP_PHP_SERVER=httpd |
Настройка веб-каталога. | Если веб-сервер — HTTPD или NGINX, веб-каталог по умолчанию — htdocs. Если веб-сервер является встроенным сервером PHP, веб-каталог по умолчанию имеет значение /workspace. | BP_PHP_WEB_DIR |
--build-env BP_PHP_WEB_DIR=htdocs |