Delen via


JavaToolInstaller@0 - Java-hulpprogramma-installatieprogramma v0-taak

Gebruik deze taak om een specifieke versie van Java te verkrijgen van een door de gebruiker opgegeven Azure-blob of de hulpprogrammacache en stel in 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.

Invoerwaarden

versionSpec - JDK-versie
string. Vereist. Standaardwaarde: 8.

Hiermee geeft u de JDK-versie beschikbaar te maken op het pad. Gebruik een volledige nummerversie, zoals 10.


jdkArchitectureOption - JDK-architectuur
string. Vereist. Toegestane waarden: x64, x86.

Hiermee geeft u de architectuur (x86, x64) van de JDK.


jdkSourceOption - JDK-bron
string. Vereist. Toegestane waarden: AzureStorage (Azure Storage), LocalDirectory (lokale map) PreInstalled (vooraf geïnstalleerd).

Hiermee geeft u de bron voor de gecomprimeerde JDK. De bron kan Azure Blob Storage of een lokale map in de agent of bronopslagplaats zijn, of u kunt de vooraf geïnstalleerde versie van Java gebruiken (beschikbaar voor door Microsoft gehoste agents). Zie het onderstaande voorbeeld over het gebruik van de vooraf geïnstalleerde versie van Java.


jdkSourceOption - JDK-bron
string. Vereist. Toegestane waarden: AzureStorage (Azure Storage), LocalDirectory (Lokale directory).

Hiermee geeft u de bron voor de gecomprimeerde JDK. De bron kan Azure Blob Storage of een lokale map in de agent of bronopslagplaats zijn, of u kunt de vooraf geïnstalleerde versie van Java gebruiken (beschikbaar voor door Microsoft gehoste agents). Zie het onderstaande voorbeeld over het gebruik van de vooraf geïnstalleerde versie van Java.


jdkFile - JDK-bestand
string. Vereist wanneer jdkSourceOption == LocalDirectory.

Hiermee geeft u het pad naar het JDK-archiefbestand dat de gecomprimeerde JDK bevat. Het pad kan zich in uw bronopslagplaats of een lokaal pad op de agent bevinden. Het bestand moet een archief zijn (.zip, .tar.gz, .7z) met de map bin op het hoofdniveau of in één map. MacOS ondersteunt .pkg- en .dmg-bestanden die slechts één PKG-bestand bevatten.


azureResourceManagerEndpoint - Azure-abonnement
string. Vereist wanneer jdkSourceOption == AzureStorage.

Hiermee geeft u het Azure Resource Manager-abonnement voor de JDK.


azureStorageAccountName - Naam van opslagaccount
string. Vereist wanneer jdkSourceOption == AzureStorage.

Hiermee geeft u klassieke Azure- of Resource Manager-opslagaccounts op. Selecteer de naam van het opslagaccount waarin de JDK zich bevindt.


azureContainerName - Containernaam
string. Vereist wanneer jdkSourceOption == AzureStorage.

Hiermee geeft u de naam van de container in het opslagaccount waarin de JDK zich bevindt.


azureCommonVirtualFile - Algemeen virtueel pad
string. Vereist wanneer jdkSourceOption == AzureStorage.

Hiermee geeft u het pad naar de JDK in de Azure-opslagcontainer op.


jdkDestinationDirectory - Doelmap
string. Vereist wanneer jdkSourceOption != PreInstalled.

Hiermee geeft u de doelmap op waar de JDK moet worden uitgepakt. In Linux en Windows wordt dit gebruikt als de doelmap voor de JDK-installatie. In macOS wordt deze map gebruikt als een tijdelijke map voor het extraheren van .dmg omdat macOS geen ondersteuning biedt voor het installeren van JDK in een specifieke map.


jdkDestinationDirectory - Doelmap
string. Vereist.

Hiermee geeft u de doelmap op waar de JDK moet worden uitgepakt. In Linux en Windows wordt dit gebruikt als de doelmap voor de JDK-installatie. In macOS wordt deze map gebruikt als een tijdelijke map voor het extraheren van .dmg omdat macOS geen ondersteuning biedt voor het installeren van JDK in een specifieke map.


azureResourceGroupName - Naam van resourcegroep
string. Optioneel. Gebruik wanneer jdkSourceOption == AzureStorage.

Resourcegroepnaam van het opslagaccount.


cleanDestinationDirectory - Doelmap opschonen
boolean. Optioneel. Gebruik wanneer jdkSourceOption != PreInstalled. Standaardwaarde: true.

Hiermee geeft u de optie op om de doelmap op te schonen voordat JDK wordt geëxtraheerd.


cleanDestinationDirectory - Doelmap opschonen
boolean. Standaardwaarde: true.

Hiermee geeft u de optie op om de doelmap op te schonen voordat JDK wordt geëxtraheerd.


createExtractDirectory - Map maken voor uitpakken
boolean. Optioneel. Gebruik wanneer jdkSourceOption != PreInstalled. Standaardwaarde: true.

Standaard maakt de taak een map die JAVA_HOME_8_X64_OpenJDK_zip vergelijkbaar is met voor het extraheren van JDK. Met deze optie wordt het maken van die map uitgeschakeld. Als deze optie is ingesteld op false, bevindt JDK zich in de hoofdmap van jdkDestinationDirectory .


Opties voor taakbeheer

Alle taken hebben besturingsopties naast hun taakinvoer. Zie Besturingsopties en algemene taakeigenschappen voor meer informatie.

Uitvoervariabelen

Geen.

Opmerkingen

Gebruik deze taak om een specifieke versie van Java te verkrijgen van een door de gebruiker opgegeven Azure-blob, een locatie in de bron of op de agent, of de cache van de hulpprogramma's. Met de taak wordt ook de omgevingsvariabele JAVA_HOME ingesteld. Gebruik deze taak om de versie van Java te wijzigen die wordt gebruikt in Java-taken.

Notitie

Als u de taak java-hulpprogramma-installatieprogramma wilt uitvoeren in macOS, moet de gebruiker waaronder de agent wordt uitgevoerd, gemachtigd zijn om de sudo-opdracht uit te voeren zonder wachtwoord. U kunt de volgende stappen volgen om deze machtiging in te schakelen:

  1. Voer de opdracht sudo visudo uit. Het sudoers-bestand wordt geopend om te worden bewerkt.
  2. Ga naar de onderkant van het bestand en voeg de volgende regel toe: user ALL=NOPASSWD: /usr/sbin/installer (Vervang de gebruiker door de werkelijke gebruikersalias).
  3. Sla het bestand op en sluit het.

Voorbeelden

Hier volgt een voorbeeld van het ophalen van het archiefbestand uit een lokale map in Linux. Het bestand moet een archief (.zip, .gz) van de JAVA_HOME map zijn, zodat het de binmappen , lib, include, jre, enzovoort bevat.

  - 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

Hier volgt een voorbeeld van het downloaden van het archiefbestand uit Azure Storage. Het bestand moet een archief (.zip, .gz) van de JAVA_HOME map zijn, zodat het de binmappen , lib, include, jre, enzovoort bevat.

- 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

Hier volgt een voorbeeld van het gebruik van de functie 'vooraf geïnstalleerd'. Met deze functie kunt u Java-versies gebruiken die vooraf zijn geïnstalleerd op de door Microsoft gehoste agent. U vindt beschikbare vooraf geïnstalleerde versies van Java in de kolom inbegrepen software in de tabel met gehoste agents.

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

Vereisten

Vereiste Beschrijving
Pijplijntypen YAML, klassieke build, klassieke release
Wordt uitgevoerd op Agent, DeploymentGroup
Eisen Geen
Functies Het uitvoeren van deze taak voldoet aan de volgende vereisten voor eventuele volgende taken in dezelfde taak: Java, JDK
Opdrachtbeperkingen Deze taak wordt uitgevoerd met behulp van de volgende opdrachtbeperkingen: beperkt
Instelbare variabelen Deze taak heeft machtigingen voor het instellen van de volgende variabelen: PATH, JAVA_HOME*
Agentversie 2.182.1 of hoger
Taakcategorie Hulpprogramma
Vereiste Beschrijving
Pijplijntypen YAML, klassieke build, klassieke release
Wordt uitgevoerd op Agent, DeploymentGroup
Eisen Geen
Functies Het uitvoeren van deze taak voldoet aan de volgende vereisten voor eventuele volgende taken in dezelfde taak: Java, JDK
Opdrachtbeperkingen Alle
Instelbare variabelen Alle
Agentversie Alle ondersteunde agentversies.
Taakcategorie Hulpprogramma
Vereiste Beschrijving
Pijplijntypen YAML, klassieke build, klassieke release
Wordt uitgevoerd op Agent, DeploymentGroup
Eisen Geen
Functies Het uitvoeren van deze taak voldoet aan de volgende vereisten voor eventuele volgende taken in dezelfde taak: Java
Opdrachtbeperkingen Alle
Instelbare variabelen Alle
Agentversie Alle ondersteunde agentversies.
Taakcategorie Hulpprogramma

Zie ook

Zie Hulpprogramma-installatieprogramma's voor een uitleg van hulpprogramma-installatieprogramma's en voorbeelden.