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


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.

Входные данные

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

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


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

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


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

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


jdkSourceOption - Источник 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.


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

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


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

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


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

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


jdkDestinationDirectory - Целевой каталог
string. Требуется, если jdkSourceOption != PreInstalled.

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


jdkDestinationDirectory - Целевой каталог
string. Обязательный.

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


azureResourceGroupName - Имя группы ресурсов
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 .


Параметры управления задачами

Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задачи.

Выходные переменные

Нет.

Remarks

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

Примечание

Чтобы запустить задачу установщика инструментов Java в macOS, пользователю, от имени которого выполняется агент, требуется разрешение на выполнение команды sudo без пароля. Чтобы включить это разрешение, выполните следующие действия:

  1. Выполните команду sudo visudo . Откроется файл 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
Требования Нет
Capabilities Выполнение этой задачи удовлетворяет следующим требованиям для всех последующих задач в том же задании: Java, JDK
Ограничения команд Эта задача выполняется с использованием следующих ограничений команд: restricted
Устанавливаемые переменные Эта задача имеет разрешение на задание следующих переменных: PATH, JAVA_HOME*
Версия агента 2.182.1 или более поздней версии
Категория задач Инструмент
Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
Требования Нет
Capabilities Выполнение этой задачи удовлетворяет следующим требованиям для всех последующих задач в том же задании: Java, JDK
Ограничения команд Любой
Устанавливаемые переменные Любой
Версия агента Все поддерживаемые версии агента.
Категория задач Инструмент
Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
Требования Нет
Capabilities Выполнение этой задачи удовлетворяет следующим требованиям для всех последующих задач в том же задании: Java
Ограничения команд Любой
Устанавливаемые переменные Любой
Версия агента Все поддерживаемые версии агента.
Категория задач Инструмент

См. также раздел

Описание установщиков инструментов и примеры см. в разделе Установщики инструментов.