JavaToolInstaller@1 – Java-Toolinstallationsprogramm v1-Aufgabe
Erwerben Sie eine bestimmte Version von Java aus einem vom Benutzer bereitgestellten Azure-Blob oder dem Toolcache und legt JAVA_HOME fest.
Syntax
# 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.
Eingänge
versionSpec
-
JDK-Version
string
. Erforderlich. Standardwert: 8
.
Gibt die JDK-Version an, die auf dem Pfad zur Verfügung gestellt werden soll. Verwenden Sie eine ganze Zahlenversion, z. B. 10.
jdkArchitectureOption
-
JDK-Architektur
string
. Erforderlich. Zulässige Werte: x64
, x86
.
Gibt die Architektur (x86
, x64
) des JDK an.
jdkSourceOption
-
JDK-Quelle
string
. Erforderlich. Zulässige Werte: AzureStorage
(Azure Storage), LocalDirectory
(lokales Verzeichnis), PreInstalled
(vorinstalliert).
Gibt die Quelle für das komprimierte JDK an. Die Quelle kann Azure Blob Storage oder ein lokales Verzeichnis im Agent- oder Quellrepository sein, oder Sie können die vorinstallierte Version von Java verwenden (verfügbar für von Microsoft gehostete Agents). Im folgenden Beispiel erfahren Sie, wie Sie die vorinstallierte Version von Java verwenden.
Anmerkung
Diese Version der Aufgabe greift auf Azure Storage mithilfe einer Azure Resource Manager-Dienstverbindung zu, mithilfe des Workload-Identitätsverbunds und azure RBAC konfiguriert wurde. Weitere Informationen finden Sie unter Zuweisen einer Azure-Rolle für den Zugriff auf BLOB-Daten.
jdkFile
-
JDK-Datei
string
. Erforderlich, wenn jdkSourceOption == LocalDirectory
.
Gibt den Pfad zur JDK-Archivdatei an, die den komprimierten JDK enthält. Der Pfad könnte sich in Ihrem Quell-Repository oder einem lokalen Pfad im Agent befinden. Die Datei sollte ein Archiv (.zip, .tar.gz, .7z) sein, das den Bin-Ordner auf der Stammebene oder innerhalb eines einzelnen Verzeichnisses enthält. MacOS unterstützt .pkg- und .dmg Dateien, die nur eine .pkg Datei enthalten.
azureResourceManagerEndpoint
-
Azure-Abonnement
string
. Erforderlich, wenn jdkSourceOption == AzureStorage
.
Gibt das Azure Resource Manager-Abonnement für das JDK an.
azureStorageAccountName
-
Namen des Speicherkontos
string
. Erforderlich, wenn jdkSourceOption == AzureStorage
.
Gibt Azure Classic- oder Resource Manager-Speicherkonten an. Wählen Sie den Namen des Speicherkontos aus, in dem sich das JDK befindet.
azureContainerName
-
Containername
string
. Erforderlich, wenn jdkSourceOption == AzureStorage
.
Gibt den Namen des Containers im Speicherkonto an, in dem sich das JDK befindet.
azureCommonVirtualFile
-
allgemeinen virtuellen Pfad
string
. Erforderlich, wenn jdkSourceOption == AzureStorage
.
Gibt den Pfad zum JDK im Azure-Speichercontainer an.
jdkDestinationDirectory
-
Zielverzeichnis
string
. Erforderlich, wenn jdkSourceOption != PreInstalled
.
Gibt das Zielverzeichnis an, in das das JDK extrahiert werden soll. Unter Linux und Windows wird dies als Zielverzeichnis für die JDK-Installation verwendet. Unter macOS wird dieses Verzeichnis als temporärer Ordner zum Extrahieren von .dmg verwendet, da macOS die Installation von JDK in einem bestimmten Verzeichnis nicht unterstützt.
azureResourceGroupName
-
Ressourcengruppenname
string
. Wahlfrei. Wird verwendet, wenn jdkSourceOption == AzureStorage
.
Ressourcengruppenname des Speicherkontos.
cleanDestinationDirectory
-
sauberen Zielverzeichnis-
boolean
. Wahlfrei. Wird verwendet, wenn jdkSourceOption != PreInstalled
. Standardwert: true
.
Gibt die Option zum Bereinigen des Zielverzeichnisses an, bevor JDK darin extrahiert wird.
createExtractDirectory
-
Erstellen eines Verzeichnisses zum Extrahieren von
boolean
. Wahlfrei. Wird verwendet, wenn jdkSourceOption != PreInstalled
. Standardwert: true
.
Standardmäßig erstellt die Aufgabe ein Verzeichnis, das JAVA_HOME_8_X64_OpenJDK_zip
zum Extrahieren von JDK ähnelt. Mit dieser Option wird die Erstellung dieses Ordners deaktiviert, und wenn diese einstellung auf false
festgelegt ist, befindet sich JDK stattdessen im Stammverzeichnis jdkDestinationDirectory
.
Aufgabensteuerungsoptionen
Alle Aufgaben verfügen zusätzlich zu ihren Aufgabeneingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerelementoptionen und allgemeinen Aufgabeneigenschaften.
Ausgabevariablen
Nichts.
Bemerkungen
Verwenden Sie diese Aufgabe, um eine bestimmte Version von Java aus einem vom Benutzer bereitgestellten Azure-Blob, einem Speicherort in der Quelle oder dem Agent oder dem Toolscache zu erwerben. Die Aufgabe legt auch die JAVA_HOME
Umgebungsvariable fest.
Verwenden Sie diese Aufgabe, um die Version von Java zu ändern, die in Java-Aufgaben verwendet wird.
Anmerkung
Um die Java Tool Installer Aufgabe unter macOS auszuführen, ist sie für den Benutzer erforderlich, unter dem der Agent ausgeführt wird, um die Berechtigung zum Ausführen des befehls sudo ohne Kennwort zu haben. Sie können die nächsten Schritte ausführen, um diese Berechtigung zu aktivieren:
- Führen Sie den Befehl sudo visudo aus. Die Datei "sudoers" wird zur Bearbeitung geöffnet.
- Wechseln Sie zum Ende der Datei, und fügen Sie die folgende Zeile hinzu:
user ALL=NOPASSWD: /usr/sbin/installer
(Benutzer durch den tatsächlichen Benutzeralias ersetzen).- Speichern und schließen Sie die Datei.
Beispiele
Hier ist ein Beispiel für das Abrufen der Archivdatei aus einem lokalen Verzeichnis unter Linux. Die Datei sollte ein Archiv (.zip, .gz) des JAVA_HOME
Verzeichnisses sein, sodass sie die bin
, lib
, include
, jre
usw. Verzeichnisse enthält.
- 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 ist ein Beispiel für das Herunterladen der Archivdatei aus Azure Storage.
Die Datei sollte ein Archiv (.zip, .gz) des JAVA_HOME
Verzeichnisses sein, sodass sie die bin
, lib
, include
, jre
usw. Verzeichnisse enthält.
Anmerkung
Diese Version der Aufgabe greift auf Azure Storage mithilfe einer Azure Resource Manager-Dienstverbindung zu, mithilfe des Workload-Identitätsverbunds und azure RBAC konfiguriert wurde. Weitere Informationen finden Sie unter Zuweisen einer Azure-Rolle für den Zugriff auf BLOB-Daten.
- 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 ist ein Beispiel für die Verwendung des Features "vorinstalliert". Mit diesem Feature können Sie Java-Versionen verwenden, die im von Microsoft gehosteten Agent vorinstalliert sind. Sie finden verfügbare vorinstallierte Versionen von Java in der enthaltenen Softwarespalte in der Tabelle der gehosteten Agents.
- task: JavaToolInstaller@1
inputs:
versionSpec: '8'
jdkArchitectureOption: 'x64'
jdkSourceOption: 'PreInstalled'
Anforderungen
Anforderung | Beschreibung |
---|---|
Pipelinetypen | YAML, Classic Build, Classic Release |
Läuft auf | Agent, DeploymentGroup |
Anforderungen | Nichts |
Funktionen | Das Ausführen dieser Aufgabe erfüllt die folgenden Anforderungen für nachfolgende Aufgaben im selben Auftrag: Java, JDK |
Befehlseinschränkungen | Diese Aufgabe wird mit den folgenden Befehlseinschränkungenausgeführt: restricted |
Settable-Variablen | Diese Aufgabe verfügt über die Berechtigung zum Festlegen der folgenden Variablen: PATH, JAVA_HOME* |
Agentversion | 2.182.1 oder höher |
Vorgangskategorie | Werkzeug |