Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Приложения контейнеров Azure используют buildpacks для автоматического создания образа контейнера, который можно использовать для развертывания исходного кода непосредственно в облаке. Чтобы контролировать конфигурацию сборки, используйте переменные среды для настройки частей сборки, таких как JDK, Maven и Tomcat. В следующей статье показано, как настроить переменные среды для контроля над сборками, которые автоматически создают контейнер.
Поддерживаемые переменные среды сборки Java
Настройка JDK
Приложения-контейнеры используют Microsoft Build openJDK для создания исходного кода и среды выполнения. Служба поддерживает четыре версии JDK LTS: 8, 11, 17 и 21.
Для сборки исходного кода версия по умолчанию — JDK 17.
Для сборки JAR-файла версия JDK считывается из расположения
META-INF\MANIFEST.MFфайла в JAR-файле, но использует JDK по умолчанию версии 17, если указанная версия недоступна.
Ниже приведен список переменных среды, которые можно использовать для настройки JDK:
| Переменная среды | Description | По умолч. |
|---|---|---|
BP_JVM_VERSION |
Управляет версией JVM. | 17 |
Настройка Maven
Контейнерные приложения поддерживают создание приложений на основе Maven из источника.
Ниже приведен список переменных среды, которые можно использовать для настройки Maven:
| Создание переменной среды | Description | По умолч. |
|---|---|---|
BP_MAVEN_VERSION |
Задает основную версию Maven. Так как Buildpacks поставляет только одну версию каждой поддерживаемой строки, обновления пакета сборки могут изменить точную версию Установленной Maven. Если требуется определенная дополнительная или исправленная версия Maven, используйте вместо этого оболочку Maven. | 3 |
BP_MAVEN_BUILD_ARGUMENTS |
Определяет аргументы, переданные Maven. Аргумент --batch-mode добавляется в список аргументов в средах без TTY. |
-Dmaven.test.skip=true --no-transfer-progress package |
BP_MAVEN_ADDITIONAL_BUILD_ARGUMENTS |
Определяет дополнительные аргументы, используемые (например, -DskipJavadoc добавленные BP_MAVEN_BUILD_ARGUMENTSв ) для передачи в Maven. |
|
BP_MAVEN_ACTIVE_PROFILES |
Разделенный запятыми список активных профилей, передаваемых в Maven. | |
BP_MAVEN_BUILT_MODULE |
Указывает артефакт приложения, содержащий модуль. По умолчанию сборка выглядит в корневом модуле. | |
BP_MAVEN_BUILT_ARTIFACT |
Расположение созданного артефакта приложения. Это значение заменяет BP_MAVEN_BUILT_MODULE переменную. Можно сопоставить один файл, несколько файлов или каталог с помощью одного или нескольких разделенных пробелов. |
target/*.[ejw]ar |
BP_MAVEN_POM_FILE |
Указывает настраиваемое расположение файла pom.xml проекта. Это значение относительно корневого каталога проекта (например, /workspace). | pom.xml |
BP_MAVEN_DAEMON_ENABLED |
Активирует установку и настройку Apache maven-mvnd вместо Maven. Установите это значение на true, если вы хотите использовать демон Maven. |
false |
BP_MAVEN_SETTINGS_PATH |
Указывает настраиваемое расположение settings.xml файла Maven. | |
BP_INCLUDE_FILES |
Разделенный двоеточием список шаблонов глобов для сопоставления исходных файлов. Любой соответствующий файл сохраняется в окончательном изображении. | |
BP_EXCLUDE_FILES |
Разделенный двоеточием список шаблонов глобов для сопоставления исходных файлов. Любой соответствующий файл удаляется из окончательного образа. Все шаблоны включения применяются сначала, и вы можете использовать "исключить шаблоны" для уменьшения файлов, включенных в сборку. | |
BP_JAVA_INSTALL_NODE |
Управление установкой Yarn и Node.js отдельной сборки. Если задано значение true, сборка проверяет корневой или путь приложения, заданные по параметру BP_NODE_PROJECT_PATH. Путь проекта ищет файл yarn.lock , который требует установки Yarn и Node.js. Если есть файл package.json, сборка требует только Node.js . |
false |
BP_NODE_PROJECT_PATH |
Направляя подкаталог проекта, чтобы искать файлы package.json и yarn.lock . |
Настройка Tomcat
Контейнерные приложения поддерживают запуск WAR-файла на сервере приложений Tomcat.
Ниже приведен список переменных среды, которые можно использовать для настройки Tomcat:
| Создание переменной среды | Description | По умолч. |
|---|---|---|
BP_TOMCAT_CONTEXT_PATH |
Путь контекста, в котором подключено приложение. | Значение по умолчанию пусто (ROOT) |
BP_TOMCAT_EXT_CONF_SHA256 |
Хэш SHA256 внешнего пакета конфигурации. | |
BP_TOMCAT_ENV_PROPERTY_SOURCE_DISABLED |
Если задано значение true, сборка не настраивает org.apache.tomcat.util.digester.EnvironmentPropertySource. Этот параметр конфигурации добавляется для поддержки загрузки конфигурации из переменных среды и ссылки на них в файлах конфигурации Tomcat. |
|
BP_TOMCAT_EXT_CONF_STRIP |
Количество уровней каталога для удаления из внешнего пакета конфигурации. | 0 |
BP_TOMCAT_EXT_CONF_URI |
URI скачивания внешнего пакета конфигурации. | |
BP_TOMCAT_EXT_CONF_VERSION |
Версия внешнего пакета конфигурации. | |
BP_TOMCAT_VERSION |
Используется для настройки определенной версии Tomcat. Поддерживаемые версии Tomcat включают 8, 9 и 10. | 9.* |
Настройка службы облачной сборки
Ниже приведен список переменных среды, которые можно использовать для настройки службы Cloud Build:
| Создание переменной среды | Description | По умолч. |
|---|---|---|
ORYX_DISABLE_TELEMETRY |
Определяет, следует ли отключить коллекцию данных телеметрии. | false |
Настройка переменных среды сборки Java
Примечание.
Чтобы выполнить следующие команды CLI, используйте версию 0.3.47 расширения "Приложения контейнеров" или более позднюю.
az extension add --name containerapp --upgrade --allow-preview Используйте команду, чтобы установить последнюю версию.
Переменные среды сборки Java можно настроить при развертывании исходного кода приложения Java с помощью команд CLI az containerapp up, az containerapp create, или az containerapp update:
az containerapp up \
--name <CONTAINER_APP_NAME> \
--source <SOURCE_DIRECTORY> \
--build-env-vars <NAME=VALUE NAME=VALUE> \
--resource-group <RESOURCE_GROUP_NAME> \
--environment <ENVIRONMENT_NAME>
Аргумент build-env-vars — это список переменных среды для сборки с разделенными пробелами значениями в key=value формате. Ниже приведен пример списка, который можно передать в виде переменных:
BP_JVM_VERSION=21 BP_MAVEN_VERSION=4 "BP_MAVEN_BUILD_ARGUMENTS=-Dmaven.test.skip=true --no-transfer-progress package"
Вы также можете настроить переменные среды сборки Java при настройке GitHub Actions с помощью Azure CLI в приложениях контейнеров Azure.
az containerapp github-action add \
--repo-url "https://github.com/<OWNER>/<REPOSITORY_NAME>" \
--build-env-vars <NAME=VALUE NAME=VALUE> \
--branch <BRANCH_NAME> \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--registry-url <URL_TO_CONTAINER_REGISTRY> \
--registry-username <REGISTRY_USER_NAME> \
--registry-password <REGISTRY_PASSWORD> \
--service-principal-client-id <appId> \
--service-principal-client-secret <password> \
--service-principal-tenant-id <tenant> \
--token <YOUR_GITHUB_PERSONAL_ACCESS_TOKEN>