Compartilhar via


JavaToolInstaller@1 – Tarefa do instalador de ferramentas Java v1

Adquira uma versão específica do Java de um blob do Azure fornecido pelo usuário ou do cache de ferramentas e define JAVA_HOME.

Sintaxe

# 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

versionSpec - versão do JDK
string. Necessário. Valor padrão: 8.

Especifica a versão do JDK a ser disponibilizada no caminho. Use uma versão de número inteiro, como 10.


arquitetura do JDK jdkArchitectureOption -
string. Necessário. Valores permitidos: x64, x86.

Especifica a arquitetura (x86, x64) do JDK.


jdkSourceOption - de origem do JDK
string. Necessário. Valores permitidos: AzureStorage (Armazenamento do Azure), LocalDirectory (Diretório Local), PreInstalled (pré-instalado).

Especifica a origem do JDK compactado. A origem pode ser o armazenamento de blobs do Azure ou um diretório local no agente ou repositório de origem ou você pode usar a versão pré-instalada do Java (disponível para agentes hospedados pela Microsoft). Veja o exemplo abaixo sobre como usar a versão pré-instalada do Java.

Nota

Esta versão da tarefa acessa o armazenamento do Azure usando uma conexão de serviço do Azure Resource Manager configurada usando a federação de identidade de carga de trabalho e o RBAC do Azure. Para obter mais informações, consulte Atribuir uma função do Azure para acesso aos dados de blob.


jdkFile - arquivo JDK
string. Necessário quando jdkSourceOption == LocalDirectory.

Especifica o caminho para o arquivo de arquivo JDK que contém o JDK compactado. O caminho pode estar no repositório de origem ou em um caminho local no agente. O arquivo deve ser um arquivo morto (.zip, .tar.gz, .7z) que contém a pasta bin no nível raiz ou dentro de um único diretório. O MacOS dá suporte a arquivos .pkg e .dmg que contêm apenas um arquivo .pkg dentro.


azureResourceManagerEndpoint - assinatura do Azure
string. Necessário quando jdkSourceOption == AzureStorage.

Especifica a assinatura do Azure Resource Manager para o JDK.


azureStorageAccountName - nome da conta de armazenamento
string. Necessário quando jdkSourceOption == AzureStorage.

Especifica contas de armazenamento do Azure Classic ou do Resource Manager. Selecione o nome da conta de armazenamento na qual o JDK está localizado.


azureContainerName - nome do contêiner
string. Necessário quando jdkSourceOption == AzureStorage.

Especifica o nome do contêiner na conta de armazenamento em que o JDK está localizado.


azureCommonVirtualFile - de caminho virtual comum
string. Necessário quando jdkSourceOption == AzureStorage.

Especifica o caminho para o JDK dentro do contêiner de armazenamento do Azure.


de diretório de destino
string. Necessário quando jdkSourceOption != PreInstalled.

Especifica o diretório de destino em que o JDK deve ser extraído. No Linux e no Windows, isso é usado como o diretório de destino para a instalação do JDK. No macOS, esse diretório é usado como uma pasta temporária para extrair .dmg porque o macOS não dá suporte à instalação do JDK em um diretório específico.


azureResourceGroupName - nome do Grupo de Recursos
string. Opcional. Use quando jdkSourceOption == AzureStorage.

Nome do Grupo de Recursos da conta de armazenamento.


de diretório de destino limpo
boolean. Opcional. Use quando jdkSourceOption != PreInstalled. Valor padrão: true.

Especifica a opção de limpar o diretório de destino antes que o JDK seja extraído nele.


createExtractDirectory - Criar diretório para extrair
boolean. Opcional. Use quando jdkSourceOption != PreInstalled. Valor padrão: true.

Por padrão, a tarefa cria um diretório semelhante a JAVA_HOME_8_X64_OpenJDK_zip para extrair o JDK. Essa opção desabilita a criação dessa pasta e, se definida como false, o JDK está localizado na raiz de jdkDestinationDirectory.


Opções de controle de tarefa

Todas as tarefas têm opções de controle além de suas entradas de tarefa. Para obter mais informações, consulte as opções de Controle de e as propriedades comuns da tarefa.

Variáveis de saída

Nenhum.

Observações

Use essa tarefa para adquirir uma versão específica do Java de um blob do Azure fornecido pelo usuário, um local na origem ou no agente ou no cache de ferramentas. A tarefa também define a variável de ambiente JAVA_HOME. Use essa tarefa para alterar a versão do Java usada em tarefas Java.

Nota

Para executar a tarefa Java Tool Installer no macOS, é necessário para o usuário no qual o agente está sendo executado para ter permissão para executar o comando sudo sem senha. Você pode seguir as próximas etapas para habilitar essa permissão:

  1. Execute o comando do visudo sudo. O arquivo sudoers é aberto para edição.
  2. Vá para a parte inferior do arquivo e adicione a seguinte linha: user ALL=NOPASSWD: /usr/sbin/installer (Substitua o usuário pelo alias do usuário real).
  3. Salve e feche o arquivo.

Exemplos

Aqui está um exemplo de como obter o arquivo morto de um diretório local no Linux. O arquivo deve ser um arquivo morto (.zip, .gz) do diretório JAVA_HOME, portanto, inclui os diretórios bin, lib, include, jreetc.

  - 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

Aqui está um exemplo de como baixar o arquivo morto do Armazenamento do Azure. O arquivo deve ser um arquivo morto (.zip, .gz) do diretório JAVA_HOME, portanto, inclui os diretórios bin, lib, include, jreetc.

Nota

Esta versão da tarefa acessa o armazenamento do Azure usando uma conexão de serviço do Azure Resource Manager configurada usando a federação de identidade de carga de trabalho e o RBAC do Azure. Para obter mais informações, consulte Atribuir uma função do Azure para acesso aos dados de 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

Aqui está um exemplo de como usar o recurso "pré-instalado". Esse recurso permite que você use versões java pré-instaladas no agente hospedado pela Microsoft. Você pode encontrar versões pré-instaladas disponíveis do Java no coluna de software incluída na tabela de agentes hospedados.

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

Requisitos

Requisito Descrição
Tipos de pipeline YAML, build clássico, versão clássica
Execuções em Agent, DeploymentGroup
de demandas Nenhum
recursos Executar essa tarefa atende às seguintes demandas de para quaisquer tarefas subsequentes no mesmo trabalho: Java, JDK
restrições de comando Esta tarefa é executada usando as seguintes restrições de comando : restrito
variáveis settable Essa tarefa tem permissão para definir as seguintes variáveis: PATH, JAVA_HOME*
Versão do agente 2.182.1 ou superior
Categoria de tarefa Ferramenta