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


JavaToolInstaller@0 — задача установщика средств Java версии 0

Используйте эту задачу для получения определенной версии Java из предоставленного пользователем большого двоичного объекта Azure или кэша инструментов и задания JAVA_HOME.

Синтаксис

# Java tool installer v0
# Acquire a specific version of Java from a user-supplied Azure blob or the tool cache and sets JAVA_HOME.
- task: JavaToolInstaller@0
  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.
# Java tool installer v0
# Acquire a specific version of Java from a user-supplied Azure blob or the tool cache and sets JAVA_HOME.
- task: JavaToolInstaller@0
  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. 
    #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 v0
# Acquire a specific version of Java from a user-supplied Azure blob or the tool cache and sets JAVA_HOME.
- task: JavaToolInstaller@0
  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. 
    #cleanDestinationDirectory: true # boolean. Optional. Use when jdkSourceOption != PreInstalled. Clean destination directory. Default: true.
# Java tool installer v0
# Acquire a specific version of Java from a user-supplied Azure blob or the tool cache and sets JAVA_HOME.
- task: JavaToolInstaller@0
  inputs:
    versionSpec: '8' # string. Required. JDK version. Default: 8.
    jdkArchitectureOption: # 'x64' | 'x86'. Required. JDK architecture. 
    jdkSourceOption: # 'AzureStorage' | 'LocalDirectory'. 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. Destination directory. 
    #cleanDestinationDirectory: true # boolean. Clean destination directory. Default: true.
# Java Tool Installer v0
# Acquires a specific version of Java from a user supplied Azure blob or the tools cache and sets JAVA_HOME. Use this task to change the version of Java used in Java tasks.
- task: JavaToolInstaller@0
  inputs:
    versionSpec: '8' # string. Required. JDK version. Default: 8.
    jdkArchitectureOption: # 'x64' | 'x86'. Required. JDK architecture. 
    jdkSourceOption: # 'AzureStorage' | 'LocalDirectory'. 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. Destination directory. 
    #cleanDestinationDirectory: true # boolean. Clean destination directory. Default: true.

Входы

версии JDK
string. Обязательно. Значение по умолчанию: 8.

Указывает версию JDK, доступную по пути. Используйте целый номер версии, например 10.


архитектуры JDK
string. Обязательно. Допустимые значения: x64, x86.

Задает архитектуру (x86, x64) JDK.


источника JDK
string. Обязательно. Допустимые значения: AzureStorage (служба хранилища Azure), LocalDirectory (локальный каталог), PreInstalled (предварительно установлен).

Указывает источник для сжатого JDK. Источником может быть хранилище BLOB-объектов Azure или локальный каталог в агенте или исходном репозитории, или можно использовать предварительно установленную версию Java (доступной для размещенных корпорацией Майкрософт агентов). См. приведенный ниже пример использования предварительно установленной версии Java.


источника JDK
string. Обязательно. Допустимые значения: AzureStorage (служба хранилища Azure), LocalDirectory (локальный каталог).

Указывает источник для сжатого JDK. Источником может быть хранилище BLOB-объектов Azure или локальный каталог в агенте или исходном репозитории, или можно использовать предварительно установленную версию Java (доступной для размещенных корпорацией Майкрософт агентов). См. приведенный ниже пример использования предварительно установленной версии Java.


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.


имени учетной записи хранения
string. Требуется, если jdkSourceOption == AzureStorage.

Указывает классические учетные записи хранения Azure или Resource Manager. Выберите имя учетной записи хранения, в которой находится JDK.


azureContainerName - имя контейнера
string. Требуется, если jdkSourceOption == AzureStorage.

Указывает имя контейнера в учетной записи хранения, в которой находится JDK.


azureCommonVirtualFile - общий виртуальный путь
string. Требуется, если jdkSourceOption == AzureStorage.

Указывает путь к JDK внутри контейнера хранилища Azure.


каталога назначения
string. Требуется, если jdkSourceOption != PreInstalled.

Указывает целевой каталог, в котором должен быть извлечен JDK. В Linux и Windows этот каталог используется в качестве целевого каталога для установки JDK. В macOS этот каталог используется в качестве временной папки для извлечения .dmg, так как macOS не поддерживает установку JDK в определенный каталог.


каталога назначения
string. Обязательно.

Указывает целевой каталог, в котором должен быть извлечен JDK. В Linux и Windows этот каталог используется в качестве целевого каталога для установки JDK. В macOS этот каталог используется в качестве временной папки для извлечения .dmg, так как macOS не поддерживает установку JDK в определенный каталог.


имени группы ресурсов
string. Необязательный. Используется при jdkSourceOption == AzureStorage.

Имя группы ресурсов учетной записи хранения.


cleanDestinationDirectory - каталог чистого назначения
boolean. Необязательный. Используется при jdkSourceOption != PreInstalled. Значение по умолчанию: true.

Указывает параметр очистки целевого каталога перед извлечением JDK в него.


cleanDestinationDirectory - каталог чистого назначения
boolean. Значение по умолчанию: 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 без пароля. Чтобы включить это разрешение, выполните следующие действия.

  1. Выполните команду sudo visudo sudo. Файл sudoers открывается для редактирования.
  2. Перейдите в нижней части файла и добавьте следующую строку: user ALL=NOPASSWD: /usr/sbin/installer (замените пользователя фактическим псевдонимом пользователя).
  3. Сохраните и закройте файл.

Примеры

Ниже приведен пример получения архивного файла из локального каталога в Linux. Файл должен быть архивным (.zip, .gz) каталога JAVA_HOME, поэтому он включает каталоги bin, lib, include, jreи т. д.

  - task: JavaToolInstaller@0
    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и т. д.

- task: JavaToolInstaller@0
  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@0
  inputs:
    versionSpec: '8'
    jdkArchitectureOption: 'x64'
    jdkSourceOption: 'PreInstalled'

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
требования Никакой
возможностей Выполнение этой задачи удовлетворяет следующим требованиям для любых последующих задач в том же задании: Java, JDK
ограничения команд Эта задача выполняется с помощью следующих ограничений команд : ограничено.
переменные settable Эта задача имеет разрешение на задать следующие переменные: PATH, JAVA_HOME*
Версия агента 2.182.1 или более поздней версии
Категория задач Инструмент
Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
требования Никакой
возможностей Выполнение этой задачи удовлетворяет следующим требованиям для любых последующих задач в том же задании: Java, JDK
ограничения команд Любой
переменные settable Любой
Версия агента Все поддерживаемые версии агента.
Категория задач Инструмент
Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
требования Никакой
возможностей Выполнение этой задачи удовлетворяет следующим требованиям для любых последующих задач в том же задании: Java
ограничения команд Любой
переменные settable Любой
Версия агента Все поддерживаемые версии агента.
Категория задач Инструмент

См. также

Описание установщиков инструментов и примеров см. в установщиках инструментов.