JavaToolInstaller@1 - taak voor het installatieprogramma van het Java-hulpprogramma v1
Verkrijg een specifieke versie van Java van een door de gebruiker geleverde Azure-blob of de cache van het hulpprogramma en stelt JAVA_HOME in.
Syntaxis
# 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.
Ingangen
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 op 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.
Notitie
Deze versie van de taak heeft toegang tot Azure Storage met behulp van een Azure Resource Manager-serviceverbinding geconfigureerd met behulp van workloadidentiteitsfederatie en Azure RBAC. Zie Een Azure-rol toewijzen voor toegang tot blobgegevensvoor meer informatie.
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 (.zip, .tar.gz, .7z) zijn met de bin-map 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 op.
azureStorageAccountName
-
opslagaccountnaam
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 waar 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.
jdkDestinationDirectory
-
doelmap
string
. Vereist wanneer jdkSourceOption != PreInstalled
.
Hiermee geeft u de doelmap waarin de JDK moet worden geëxtraheerd. 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's, omdat macOS geen ondersteuning biedt voor het installeren van JDK in een specifieke map.
azureResourceGroupName
-
naam van de resourcegroep
string
. Facultatief. Gebruiken wanneer jdkSourceOption == AzureStorage
.
Resourcegroepnaam van het opslagaccount.
cleanDestinationDirectory
-
doelmap opschonen
boolean
. Facultatief. Gebruiken wanneer jdkSourceOption != PreInstalled
. Standaardwaarde: true
.
Hiermee geeft u de optie om de doelmap op te schonen voordat JDK erin wordt geëxtraheerd.
createExtractDirectory
-
Map maken voor het extraheren van
boolean
. Facultatief. Gebruiken wanneer jdkSourceOption != PreInstalled
. Standaardwaarde: true
.
De taak maakt standaard een map die vergelijkbaar is met JAVA_HOME_8_X64_OpenJDK_zip
voor het extraheren van JDK. Met deze optie wordt het maken van die map uitgeschakeld en, indien ingesteld op false
, bevindt JDK zich in de hoofdmap van jdkDestinationDirectory
.
Opties voor taakbeheer
Alle taken hebben besturingsopties naast hun taakinvoer. Zie Opties en algemene taakeigenschappenvoor meer informatie.
Uitvoervariabelen
Geen.
Opmerkingen
Gebruik deze taak om een specifieke versie van Java te verkrijgen van een door de gebruiker geleverde 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 het Java Tool Installer wilt uitvoeren taak in macOS, is het vereist voor de gebruiker waaronder de agent wordt uitgevoerd om de opdracht sudo zonder wachtwoord uit te voeren. U kunt de volgende stappen volgen om deze machtiging in te schakelen:
- Voer de opdracht sudo visudo uit. Het sudoers-bestand wordt geopend voor bewerking.
- 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).- 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 map JAVA_HOME
zijn, zodat het de mappen bin
, lib
, include
, jre
, enzovoort bevat.
- 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
Hier volgt een voorbeeld van het downloaden van het archiefbestand uit Azure Storage.
Het bestand moet een archief (.zip, .gz) van de map JAVA_HOME
zijn, zodat het de mappen bin
, lib
, include
, jre
, enzovoort bevat.
Notitie
Deze versie van de taak heeft toegang tot Azure Storage met behulp van een Azure Resource Manager-serviceverbinding geconfigureerd met behulp van workloadidentiteitsfederatie en Azure RBAC. Zie Een Azure-rol toewijzen voor toegang tot blobgegevensvoor meer informatie.
- 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
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 opgenomen softwarekolom in de tabel gehoste agents.
- task: JavaToolInstaller@1
inputs:
versionSpec: '8'
jdkArchitectureOption: 'x64'
jdkSourceOption: 'PreInstalled'
Eisen
Eis | Beschrijving |
---|---|
Pijplijntypen | YAML, klassieke build, klassieke release |
Wordt uitgevoerd op | Agent, DeploymentGroup |
eisen | Geen |
mogelijkheden | Het uitvoeren van deze taak voldoet aan de volgende vereist voor eventuele volgende taken in dezelfde taak: Java, JDK |
opdrachtbeperkingen | Deze taak wordt uitgevoerd met behulp van de volgende opdrachtbeperkingen: beperkt |
variabelen instellen | Deze taak is gemachtigd om de volgende variabelen in te stellen : PATH, JAVA_HOME* |
Agentversie | 2.182.1 of hoger |
Taakcategorie | Werktuig |