Dela via


JavaToolInstaller@1 – Java-verktygsinstallation v1-uppgift

Hämta en specifik version av Java från en Azure-blob som tillhandahålls av användaren eller verktygets cacheminne och uppsättningar JAVA_HOME.

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.

Ingångar

versionSpec - JDK-version
string. Krävs. Standardvärde: 8.

Anger vilken JDK-version som ska vara tillgänglig på sökvägen. Använd en heltalsversion, till exempel 10.


jdkArchitectureOption - JDK-arkitektur
string. Krävs. Tillåtna värden: x64, x86.

Anger JDK:s arkitektur (x86, x64).


jdkSourceOption - JDK-källa
string. Krävs. Tillåtna värden: AzureStorage (Azure Storage), LocalDirectory (Lokal katalog), PreInstalled (förinstallerad).

Anger källan för den komprimerade JDK:en. Källan kan vara Azure Blob Storage eller en lokal katalog på agenten eller källlagringsplatsen, eller så kan du använda den förinstallerade versionen av Java (tillgänglig för Microsoft-värdbaserade agenter). Se exemplet nedan om hur du använder den förinstallerade versionen av Java.

Not

Den här versionen av uppgiften får åtkomst till Azure Storage med hjälp av en Azure Resource Manager-tjänstanslutning konfigurerad med hjälp av arbetsbelastningsidentitetsfederation och Azure RBAC. Mer information finns i Tilldela en Azure-roll för åtkomst till blobdata.


jdkFile - JDK-fil
string. Krävs när jdkSourceOption == LocalDirectory.

Anger sökvägen till JDK-arkivfilen som innehåller den komprimerade JDK:en. Sökvägen kan finnas i källlagringsplatsen eller en lokal sökväg på agenten. Filen ska vara ett arkiv (.zip, .tar.gz, .7z) som innehåller mappen bin på rotnivå eller inuti en enda katalog. MacOS stöder .pkg och .dmg filer som bara innehåller en .pkg fil inuti.


azureResourceManagerEndpoint - Azure-prenumeration
string. Krävs när jdkSourceOption == AzureStorage.

Anger Azure Resource Manager-prenumerationen för JDK.


azureStorageAccountName - Lagringskontonamn
string. Krävs när jdkSourceOption == AzureStorage.

Anger Azure Classic- eller Resource Manager-lagringskonton. Välj det lagringskontonamn där JDK:et finns.


azureContainerName - Containernamn
string. Krävs när jdkSourceOption == AzureStorage.

Anger namnet på containern i lagringskontot där JDK:et finns.


azureCommonVirtualFile - Gemensam virtuell sökväg
string. Krävs när jdkSourceOption == AzureStorage.

Anger sökvägen till JDK:et i Azure Storage-containern.


jdkDestinationDirectory - Målkatalog
string. Krävs när jdkSourceOption != PreInstalled.

Anger målkatalogen där JDK:et ska extraheras. I Linux och Windows används detta som målkatalog för JDK-installationen. I macOS används den här katalogen som en tillfällig mapp för att extrahera .dmg eftersom macOS inte stöder installation av JDK i en specifik katalog.


azureResourceGroupName - resursgruppsnamn
string. Valfri. Använd när jdkSourceOption == AzureStorage.

Resursgruppens namn på lagringskontot.


cleanDestinationDirectory - Rensa målkatalogen
boolean. Valfri. Använd när jdkSourceOption != PreInstalled. Standardvärde: true.

Anger alternativet att rensa målkatalogen innan JDK extraheras till den.


createExtractDirectory - Skapa katalog för att extrahera
boolean. Valfri. Använd när jdkSourceOption != PreInstalled. Standardvärde: true.

Som standard skapar aktiviteten en katalog som liknar JAVA_HOME_8_X64_OpenJDK_zip för att extrahera JDK. Det här alternativet inaktiverar skapandet av mappen och om det är inställt på falsefinns JDK i roten för jdkDestinationDirectory i stället.


Alternativ för aktivitetskontroll

Alla aktiviteter har kontrollalternativ utöver sina uppgiftsindata. Mer information finns i Kontrollalternativ och vanliga uppgiftsegenskaper.

Utdatavariabler

Ingen.

Anmärkningar

Använd den här uppgiften för att hämta en specifik version av Java från en Azure-blob som tillhandahålls av användaren, en plats i källan eller på agenten eller verktygscachen. Uppgiften anger även miljövariabeln JAVA_HOME. Använd den här uppgiften för att ändra den version av Java som används i Java-uppgifter.

Not

För att köra Java Tool Installer uppgift på macOS krävs det för att användaren som agenten kör ska ha behörighet att köra kommandot sudo utan lösenord. Du kan följa nästa steg för att aktivera den här behörigheten:

  1. Kör kommandot sudo visudo. Sudoers-filen öppnas för redigering.
  2. Gå till slutet av filen och lägg till följande rad: user ALL=NOPASSWD: /usr/sbin/installer (Ersätt användaren med det faktiska användaraliaset).
  3. Spara och stäng filen.

Exempel

Här är ett exempel på hur du hämtar arkivfilen från en lokal katalog i Linux. Filen ska vara ett arkiv (.zip, .gz) i katalogen JAVA_HOME, så den innehåller katalogerna bin, lib, include, jreosv.

  - 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

Här är ett exempel på hur du laddar ned arkivfilen från Azure Storage. Filen ska vara ett arkiv (.zip, .gz) i katalogen JAVA_HOME, så den innehåller katalogerna bin, lib, include, jreosv.

Not

Den här versionen av uppgiften får åtkomst till Azure Storage med hjälp av en Azure Resource Manager-tjänstanslutning konfigurerad med hjälp av arbetsbelastningsidentitetsfederation och Azure RBAC. Mer information finns i Tilldela en Azure-roll för åtkomst till blobdata.

- 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

Här är ett exempel på hur du använder funktionen "förinstallerad". Med den här funktionen kan du använda Java-versioner som är förinstallerade på den Microsoft-värdbaserade agenten. Du hittar tillgängliga förinstallerade versioner av Java i den inkluderade programvarukolumnen i tabellen värdbaserade agenter.

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

Krav

Krav Beskrivning
Pipelinetyper YAML, klassisk version, klassisk version
Körs på Agent, DeploymentGroup
kräver Ingen
funktioner Om du kör den här uppgiften uppfyller följande krav för efterföljande uppgifter i samma jobb: Java, JDK
Kommandobegränsningar Den här aktiviteten körs med hjälp av följande kommandobegränsningar: begränsad
variabler som kan Den här uppgiften har behörighet att ange följande variabler: PATH, JAVA_HOME*
Agentversion 2.182.1 eller senare
Aktivitetskategori Verktyg