Partilhar via


JavaToolInstaller@1 - Tarefa do instalador da ferramenta Java v1

Adquira uma versão específica do Java a partir de um blob do Azure fornecido pelo usuário ou do cache da ferramenta e defina 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.

Insumos

versionSpec - versão 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.


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

Especifica a arquitetura (x86, x64) do JDK.


jdkSourceOption - de origem 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 blob 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.

Observação

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 a dados de blob.


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

Especifica o caminho para o arquivo compactado 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 (.zip, .tar.gz, .7z) contendo a pasta bin no nível raiz ou dentro de um único diretório. O MacOS suporta ficheiros .pkg e .dmg que contenham apenas um ficheiro .pkg no seu interior.


azureResourceManagerEndpoint - de 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 as 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 onde o JDK está localizado.


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

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


jdkDestinationDirectory - Diretório de destino
string. Necessário quando jdkSourceOption != PreInstalled.

Especifica o diretório de destino onde o JDK deve ser extraído. No Linux e no Windows, ele é 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 suporta a 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.


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

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


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 ao 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 do jdkDestinationDirectory em vez disso.


Opções de controlo de tarefas

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

Variáveis de saída

Nenhuma.

Comentários

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

Observação

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

  1. Execute o comando sudo visudo. 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 (Substituir usuário pelo alias de usuário real).
  3. Salve e feche o arquivo.

Exemplos

Aqui está um exemplo de como obter o arquivo de um diretório local no Linux. O arquivo deve ser um arquivo (.zip, .gz) do diretório JAVA_HOME, por isso inclui os diretórios 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

Veja um exemplo de como baixar o arquivo morto do Armazenamento do Azure. O arquivo deve ser um arquivo (.zip, .gz) do diretório JAVA_HOME, por isso inclui os diretórios bin, lib, include, jre, etc.

Observação

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 a 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 em coluna de software incluído na tabela de agentes hospedados.

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

Requerimentos

Exigência Descrição
Tipos de pipeline YAML, Construção clássica, Versão clássica
Funciona em Agente, DeploymentGroup
Exigências Nenhum
Capacidades A execução desta tarefa satisfaz as seguintes exigências 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 configuráveis Esta 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