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:
- Execute o comando do visudo sudo. O arquivo sudoers é aberto para edição.
- 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).- 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
, 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
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
, jre
etc.
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 |