Compartir a través de


JavaToolInstaller@1: tarea del instalador de herramientas de Java v1

Adquiera una versión específica de Java de un blob de Azure proporcionado por el usuario o la caché de herramientas y establezca JAVA_HOME.

Sintaxis

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

Entradas

de la versión de JDK de
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.


de arquitectura de JDK de
string. Obligatorio. Valores permitidos: x64, x86.

Especifica la arquitectura (x86, x64) del JDK.


de origen de JDK de
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.

Nota

Esta versión de la tarea accede a Azure Storage mediante una conexión de servicio de Azure Resource Manager configurada mediante la federación de identidades de carga de trabajo y Azure RBAC. Para más información, consulte Asignación de un rol de Azure para el acceso a datos de blobs.


de archivos JDK de
string. Obligatorio 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 contiene 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 - de suscripción de Azure
string. Obligatorio cuando jdkSourceOption == AzureStorage.

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


azureStorageAccountName - nombre de la cuenta de almacenamiento
string. Obligatorio cuando jdkSourceOption == AzureStorage.

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


nombre del contenedor
string. Obligatorio 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. Obligatorio cuando jdkSourceOption == AzureStorage.

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


de directorio de destino de
string. Obligatorio 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 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 - limpiar directorio de destino
boolean. Opcional. Use cuando jdkSourceOption != PreInstalled. Valor predeterminado: true.

Especifica la opción de limpiar el directorio de destino antes de que JDK se extraiga en él.


createExtractDirectory - Crear 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 en false, 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 sus entradas de tarea. Para obtener más información, consulte 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 caché de herramientas. La tarea también establece la variable de entorno JAVA_HOME. Use esta tarea para cambiar la versión de Java que se usa 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 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 el usuario por el alias de usuario real).
  3. Guarde y cierre el archivo.

Ejemplos

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

  - 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

Este es un ejemplo de descarga del archivo de Azure Storage. El archivo debe ser un archivo (.zip, .gz) del directorio JAVA_HOME, por lo que incluye los directorios bin, lib, include, jre, etc.

Nota

Esta versión de la tarea accede a Azure Storage mediante una conexión de servicio de Azure Resource Manager configurada mediante la federación de identidades de carga de trabajo y Azure RBAC. Para más información, consulte Asignación de un rol de Azure para el acceso a datos de blobs.

- 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

Este es un ejemplo del 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 incluida en la tabla de agentes hospedados.

- task: JavaToolInstaller@1
  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
demandas Ninguno
funcionalidades de 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 restricciones de comandos siguientes: restringido
variables settable Esta tarea tiene permiso para establecer las siguientes variables: PATH, JAVA_HOME*
Versión del agente 2.182.1 o superior
Categoría de tarea Herramienta