Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Получите определенную версию Java из предоставленного пользователем большого двоичного объекта Azure или кэша инструментов и задает JAVA_HOME.
Заметка
В этой версии задачи для подключения к хранилищу Azure используется Azure RBAC. Дополнительные сведения см. в статье Настройка Azure RBAC для доступа к хранилищу Azure.
Синтаксис
# Java tool installer v1
# Acquire a specific version of Java from a user-supplied Azure blob or the tool cache and sets JAVA_HOME.
- task: JavaToolInstaller@1
inputs:
versionSpec: '8' # string. Required. JDK version. Default: 8.
jdkArchitectureOption: # 'x64' | 'x86' | 'arm64'. Required. JDK architecture.
jdkSourceOption: # 'AzureStorage' | 'LocalDirectory' | 'PreInstalled'. Required. JDK source.
#jdkFile: # string. Required when jdkSourceOption == LocalDirectory. JDK file.
#azureResourceManagerEndpoint: # string. Required when jdkSourceOption == AzureStorage. Azure subscription.
#azureStorageAccountName: # string. Required when jdkSourceOption == AzureStorage. Storage account name.
#azureContainerName: # string. Required when jdkSourceOption == AzureStorage. Container name.
#azureCommonVirtualFile: # string. Required when jdkSourceOption == AzureStorage. Common virtual path.
#jdkDestinationDirectory: # string. Required when jdkSourceOption != PreInstalled. Destination directory.
#azureResourceGroupName: # string. Optional. Use when jdkSourceOption == AzureStorage. Resource Group name.
#cleanDestinationDirectory: true # boolean. Optional. Use when jdkSourceOption != PreInstalled. Clean destination directory. Default: true.
#createExtractDirectory: true # boolean. Optional. Use when jdkSourceOption != PreInstalled. Create directory for extracting. Default: true.
# Java tool installer v1
# Acquire a specific version of Java from a user-supplied Azure blob or the tool cache and sets JAVA_HOME.
- task: JavaToolInstaller@1
inputs:
versionSpec: '8' # string. Required. JDK version. Default: 8.
jdkArchitectureOption: # 'x64' | 'x86'. Required. JDK architecture.
jdkSourceOption: # 'AzureStorage' | 'LocalDirectory' | 'PreInstalled'. Required. JDK source.
#jdkFile: # string. Required when jdkSourceOption == LocalDirectory. JDK file.
#azureResourceManagerEndpoint: # string. Required when jdkSourceOption == AzureStorage. Azure subscription.
#azureStorageAccountName: # string. Required when jdkSourceOption == AzureStorage. Storage account name.
#azureContainerName: # string. Required when jdkSourceOption == AzureStorage. Container name.
#azureCommonVirtualFile: # string. Required when jdkSourceOption == AzureStorage. Common virtual path.
#jdkDestinationDirectory: # string. Required when jdkSourceOption != PreInstalled. Destination directory.
#azureResourceGroupName: # string. Optional. Use when jdkSourceOption == AzureStorage. Resource Group name.
#cleanDestinationDirectory: true # boolean. Optional. Use when jdkSourceOption != PreInstalled. Clean destination directory. Default: true.
#createExtractDirectory: true # boolean. Optional. Use when jdkSourceOption != PreInstalled. Create directory for extracting. Default: true.
Входы
версии JDK
string. Обязательно. Значение по умолчанию: 8.
Указывает версию JDK, доступную по пути. Используйте целый номер версии, например 10.
архитектуры JDK
string. Обязательно. Допустимые значения: x64, x86, arm64.
Задает архитектуру (x86, x64) JDK.
архитектуры JDK
string. Обязательно. Допустимые значения: x64, x86.
Задает архитектуру (x86, x64) JDK.
источника JDK
string. Обязательно. Допустимые значения: AzureStorage (служба хранилища Azure), LocalDirectory (локальный каталог), PreInstalled (предварительно установлен).
Указывает источник для сжатого JDK. Источником может быть хранилище BLOB-объектов Azure или локальный каталог в агенте или исходном репозитории, или можно использовать предварительно установленную версию Java (доступной для размещенных корпорацией Майкрософт агентов). См. приведенный ниже пример использования предварительно установленной версии Java.
Заметка
В этой версии задачи для подключения к хранилищу Azure используется Azure RBAC. Дополнительные сведения см. в статье Настройка Azure RBAC для доступа к хранилищу Azure.
jdkFile
-
JDK-файл
string. Требуется, если jdkSourceOption == LocalDirectory.
Указывает путь к файлу архива JDK, который содержит сжатый JDK. Путь может находиться в исходном репозитории или локальном пути агента. Файл должен быть архивом (.zip, .tar.gz, .7z), содержащим папку bin на корневом уровне или внутри одного каталога. MacOS поддерживает файлы .pkg и .dmg, содержащие только один файл .pkg внутри.
azureResourceManagerEndpoint
-
подписке Azure
string. Требуется, если jdkSourceOption == AzureStorage.
Указывает подписку Azure Resource Manager для JDK.
Заметка
В этой версии задачи для подключения к хранилищу Azure используется Azure RBAC. Дополнительные сведения см. в статье Настройка Azure RBAC для доступа к хранилищу Azure.
имени учетной записи хранения
string. Требуется, если jdkSourceOption == AzureStorage.
Указывает классические учетные записи хранения Azure или Resource Manager. Выберите имя учетной записи хранения, в которой находится JDK.
Заметка
В этой версии задачи для подключения к хранилищу Azure используется Azure RBAC. Дополнительные сведения см. в статье Настройка Azure RBAC для доступа к хранилищу Azure.
azureContainerName
-
имя контейнера
string. Требуется, если jdkSourceOption == AzureStorage.
Указывает имя контейнера в учетной записи хранения, в которой находится JDK.
azureCommonVirtualFile
-
общий виртуальный путь
string. Требуется, если jdkSourceOption == AzureStorage.
Указывает путь к JDK внутри контейнера хранилища Azure.
каталога назначения
string. Требуется, если jdkSourceOption != PreInstalled.
Указывает целевой каталог, в котором должен быть извлечен JDK. В Linux и Windows этот каталог используется в качестве целевого каталога для установки JDK. В macOS этот каталог используется в качестве временной папки для извлечения .dmg, так как macOS не поддерживает установку JDK в определенный каталог.
имени группы ресурсов
string. Необязательный. Используется при jdkSourceOption == AzureStorage.
Имя группы ресурсов учетной записи хранения.
cleanDestinationDirectory
-
каталог чистого назначения
boolean. Необязательный. Используется при jdkSourceOption != PreInstalled. Значение по умолчанию: true.
Указывает параметр очистки целевого каталога перед извлечением JDK в него.
createExtractDirectory
-
Создание каталога для извлечения
boolean. Необязательный. Используется при jdkSourceOption != PreInstalled. Значение по умолчанию: true.
По умолчанию задача создает каталог, аналогичный JAVA_HOME_8_X64_OpenJDK_zip для извлечения JDK. Этот параметр отключает создание этой папки и, если задано значение false, JDK находится в корне jdkDestinationDirectory.
Параметры управления задачами
Все задачи имеют параметры управления в дополнение к входным данным задачи. Дополнительные сведения см. в разделе Параметры управления и общие свойства задач.
Выходные переменные
Никакой.
Замечания
Используйте эту задачу для получения определенной версии Java из предоставленного пользователем большого двоичного объекта Azure, расположения в источнике или агенте или кэше средств. Задача также задает переменную среды JAVA_HOME.
Используйте эту задачу для изменения версии Java, используемой в задачах Java.
Заметка
Чтобы запустить задачу установщика инструментов Java в macOS, пользователю, которому выполняется агент, требуется разрешение на выполнение команды sudo sudo без пароля. Чтобы включить это разрешение, выполните следующие действия.
- Выполните команду sudo visudo
sudo. Файл sudoers открывается для редактирования. - Перейдите в нижней части файла и добавьте следующую строку:
user ALL=NOPASSWD: /usr/sbin/installer(замените пользователя фактическим псевдонимом пользователя).- Сохраните и закройте файл.
Настройка Azure RBAC для доступа к хранилищу Azure
В этой версии задачи используется подключение к службе Azure Resource Manager , настроенное с помощью федерации удостоверений рабочей нагрузки и Azure RBAC для подключения к хранилищу Azure вместо ключей учетных записей хранения или подписанных URL-адресов общего доступа (SAS). Чтобы подключиться к хранилищу Azure из этой задачи, необходимо назначить роль участника данных BLOB-объектов хранилища в учетной записи хранения удостоверению подключения к службе, настроенного для azureResourceManagerEndpoint. Дополнительные сведения см. в статьях Назначение роли Azure для доступа к данным BLOB-объектов и Действия по назначению роли.
Примеры
Ниже приведен пример получения архивного файла из локального каталога в Linux. Файл должен быть архивным (.zip, .gz) каталога JAVA_HOME, поэтому он включает каталоги bin, lib, include, jreи т. д.
- task: JavaToolInstaller@1
inputs:
versionSpec: "11"
jdkArchitectureOption: x64
jdkSourceOption: LocalDirectory
jdkFile: "/builds/openjdk-11.0.2_linux-x64_bin.tar.gz"
jdkDestinationDirectory: "/builds/binaries/externals"
cleanDestinationDirectory: true
Ниже приведен пример скачивания архивного файла из службы хранилища Azure.
Файл должен быть архивным (.zip, .gz) каталога JAVA_HOME, поэтому он включает каталоги bin, lib, include, jreи т. д.
Заметка
Эта версия задачи обращается к хранилищу Azure с помощью подключения службы Azure Resource Manager настроено с помощью федерации удостоверений рабочей нагрузки и Azure RBAC. Дополнительные сведения см. в статье Назначение роли Azure для доступа к данным BLOB-объектов.
- task: JavaToolInstaller@1
inputs:
versionSpec: '6'
jdkArchitectureOption: 'x64'
jdkSourceOption: AzureStorage
azureResourceManagerEndpoint: myARMServiceConnection
azureStorageAccountName: myAzureStorageAccountName
azureContainerName: myAzureStorageContainerName
azureCommonVirtualFile: 'jdk1.6.0_45.zip'
jdkDestinationDirectory: '$(agent.toolsDirectory)/jdk6'
cleanDestinationDirectory: false
Ниже приведен пример использования предварительно установленной функции. Эта функция позволяет использовать предварительно установленные версии Java в агенте, размещенном корпорацией Майкрософт. Доступные предварительно установленные версии Java можно найти в включенный столбец программного обеспечения в таблице размещенных агентов.
- task: JavaToolInstaller@1
inputs:
versionSpec: '8'
jdkArchitectureOption: 'x64'
jdkSourceOption: 'PreInstalled'
Требования
| Требование | Описание |
|---|---|
| Типы конвейеров | YAML, классическая сборка, классический выпуск |
| Выполняется в | Агент, DeploymentGroup |
| требования | Никакой |
| возможностей |
Выполнение этой задачи удовлетворяет следующим требованиям для любых последующих задач в том же задании: Java, JDK |
| ограничения команд | Эта задача выполняется с помощью следующих ограничений команд : ограничено. |
| переменные settable | Эта задача имеет разрешение на задать следующие переменные: PATH, JAVA_HOME* |
| Версия агента | 2.182.1 или более поздней версии |
| Категория задач | Инструмент |