JavaToolInstaller@0: tarea v0 del instalador de herramientas de Java

Use esta tarea para adquirir una versión específica de Java a partir de un blob de Azure proporcionado por el usuario o la memoria caché de herramientas y establezca JAVA_HOME.

Syntax

# 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.

Entradas

versionSpec - Versión de JDK
string. Obligatorio. Valor predeterminado: 8.

Especifica la versión de JDK que se va a poner a disposición en la ruta de acceso. Use una versión de número entero, como 10.


jdkArchitectureOption - Arquitectura de JDK
string. Obligatorio. Valores permitidos: x64, x86.

Especifica la arquitectura (x86, x64) del JDK.


jdkSourceOption - Origen de JDK
string. Obligatorio. Valores permitidos: AzureStorage (Azure Storage), LocalDirectory (Directorio local), PreInstalled (preinstalado).

Especifica el origen del JDK comprimido. El origen puede ser Azure Blob Storage o un directorio local en el agente o el repositorio de origen, o bien puede usar la versión preinstalada de Java (disponible para agentes hospedados por Microsoft). Consulte el ejemplo siguiente sobre cómo usar la versión preinstalada de Java.


jdkSourceOption - Origen de JDK
string. Obligatorio. Valores permitidos: AzureStorage (Azure Storage), LocalDirectory (Directorio local).

Especifica el origen del JDK comprimido. El origen puede ser Azure Blob Storage o un directorio local en el agente o el repositorio de origen, o bien puede usar la versión preinstalada de Java (disponible para agentes hospedados por Microsoft). Consulte el ejemplo siguiente sobre cómo usar la versión preinstalada de Java.


jdkFile - Archivo JDK
string. Necesario cuando jdkSourceOption == LocalDirectory.

Especifica la ruta de acceso al archivo de archivo JDK que contiene el JDK comprimido. La ruta de acceso podría estar en el repositorio de origen o en una ruta de acceso local en el agente. El archivo debe ser un archivo (.zip, .tar.gz, .7z) que contenga la carpeta bin en el nivel raíz o dentro de un único directorio. MacOS admite archivos .pkg y .dmg que contienen solo un archivo .pkg dentro.


azureResourceManagerEndpoint - Suscripción de Azure
string. Necesario cuando jdkSourceOption == AzureStorage.

Especifica la suscripción de Azure Resource Manager para el JDK.


azureStorageAccountName - Nombre de la cuenta de almacenamiento
string. Necesario cuando jdkSourceOption == AzureStorage.

Especifica las cuentas de almacenamiento clásicas o Resource Manager de Azure. Seleccione el nombre de la cuenta de almacenamiento en la que se encuentra el JDK.


azureContainerName - Nombre del contenedor
string. Necesario cuando jdkSourceOption == AzureStorage.

Especifica el nombre del contenedor en la cuenta de almacenamiento donde se encuentra el JDK.


azureCommonVirtualFile - Ruta de acceso virtual común
string. Necesario cuando jdkSourceOption == AzureStorage.

Especifica la ruta de acceso al JDK dentro del contenedor de almacenamiento de Azure.


jdkDestinationDirectory - Directorio de destino
string. Necesario cuando jdkSourceOption != PreInstalled.

Especifica el directorio de destino donde se debe extraer el JDK. En Linux y Windows, se usa como directorio de destino para la instalación de JDK. En macOS, este directorio se usa como una carpeta temporal para extraer .dmg porque macOS no admite la instalación de JDK en un directorio específico.


jdkDestinationDirectory - Directorio de destino
string. Obligatorio.

Especifica el directorio de destino donde se debe extraer el JDK. En Linux y Windows, se usa como directorio de destino para la instalación de JDK. En macOS, este directorio se usa como una carpeta temporal para extraer .dmg porque macOS no admite la instalación de JDK en un directorio específico.


azureResourceGroupName - Nombre del grupo de recursos
string. Opcional. Use cuando jdkSourceOption == AzureStorage.

Nombre del grupo de recursos de la cuenta de almacenamiento.


cleanDestinationDirectory - Directorio de destino limpio
boolean. Opcional. Use cuando jdkSourceOption != PreInstalled. Valor predeterminado: true.

Especifica la opción para limpiar el directorio de destino antes de extraer JDK en él.


cleanDestinationDirectory - Directorio de destino limpio
boolean. Valor predeterminado: true.

Especifica la opción para limpiar el directorio de destino antes de extraer JDK en él.


createExtractDirectory - Creación de un directorio para extraer
boolean. Opcional. Use cuando jdkSourceOption != PreInstalled. Valor predeterminado: true.

De forma predeterminada, la tarea crea un directorio similar a JAVA_HOME_8_X64_OpenJDK_zip para extraer JDK. Esta opción deshabilita la creación de esa carpeta y, si se establece falseen , JDK se encuentra en la raíz de jdkDestinationDirectory en su lugar.


Opciones de control de tareas

Todas las tareas tienen opciones de control además de las entradas de tareas. Para obtener más información, vea Opciones de control y propiedades de tareas comunes.

Variables de salida

Ninguno.

Observaciones

Use esta tarea para adquirir una versión específica de Java de un blob de Azure proporcionado por el usuario, una ubicación en el origen o en el agente, o la memoria caché de herramientas. La tarea también establece la variable de JAVA_HOME entorno. Use esta tarea para cambiar la versión de Java usada en las tareas de Java.

Nota

Para ejecutar la tarea Instalador de herramientas de Java en macOS, es necesario que el usuario con el que se ejecute el agente tenga permiso para ejecutar el comando sudo sin una contraseña. Puede seguir los pasos siguientes para habilitar este permiso:

  1. Ejecute el comando sudo visudo . Se abre el archivo sudoers para su edición.
  2. Vaya a la parte inferior del archivo y agregue la siguiente línea: user ALL=NOPASSWD: /usr/sbin/installer (Reemplace user por el alias de usuario real).
  3. Guarde y cierre el archivo.

Ejemplos

Este es un ejemplo de cómo obtener el archivo de almacenamiento de un directorio local en Linux. El archivo debe ser un archivo (.zip, .gz) del JAVA_HOME directorio, por lo que incluye los bindirectorios , lib, include, jre, etc.

  - 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

Este es un ejemplo de cómo descargar el archivo de almacenamiento desde Azure Storage. El archivo debe ser un archivo (.zip, .gz) del JAVA_HOME directorio, por lo que incluye los bindirectorios , lib, include, jre, etc.

- 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

Este es un ejemplo de uso de la característica "preinstalada". Esta característica permite usar versiones de Java preinstaladas en el agente hospedado por Microsoft. Puede encontrar las versiones preinstaladas disponibles de Java en la columna de software incluido en la tabla de agentes hospedados.

- task: JavaToolInstaller@0
  inputs:
    versionSpec: '8'
    jdkArchitectureOption: 'x64'
    jdkSourceOption: 'PreInstalled'

Requisitos

Requisito Descripción
Tipos de canalización YAML, compilación clásica, versión clásica
Se ejecuta en Agente, DeploymentGroup
Peticiones Ninguno
Capabilities La ejecución de esta tarea satisface las siguientes demandas para las tareas posteriores del mismo trabajo: Java, JDK
Restricciones de comandos Esta tarea se ejecuta con las siguientes restricciones de comandos: restringido
Variables que se pueden establecer Esta tarea tiene permiso para establecer las siguientes variables: PATH, JAVA_HOME*
Versión del agente 2.182.1 o superior
Categoría de la tarea: Herramienta
Requisito Descripción
Tipos de canalización YAML, compilación clásica, versión clásica
Se ejecuta en Agente, DeploymentGroup
Peticiones Ninguno
Capabilities La ejecución de esta tarea satisface las siguientes demandas para las tareas posteriores del mismo trabajo: Java, JDK
Restricciones de comandos Any
Variables que se pueden establecer Any
Versión del agente Todas las versiones de agente compatibles.
Categoría de la tarea: Herramienta
Requisito Descripción
Tipos de canalización YAML, compilación clásica, versión clásica
Se ejecuta en Agente, DeploymentGroup
Peticiones Ninguno
Capabilities La ejecución de esta tarea satisface las siguientes demandas para las tareas posteriores del mismo trabajo: Java
Restricciones de comandos Any
Variables que se pueden establecer Any
Versión del agente Todas las versiones de agente compatibles.
Categoría de la tarea: Herramienta

Consulte también

Para ver una explicación de los instaladores de herramientas y ejemplos, consulte Instaladores de herramientas.