Sdílet prostřednictvím


JavaToolInstaller@1 – úloha instalačního programu nástroje Java v1

Získejte konkrétní verzi Javy z uživatelem dodaného objektu blob Azure nebo mezipaměti nástrojů a nastaví 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.

Vstupy

verze sady JDK
string. Požadovaný. Výchozí hodnota: 8.

Určuje verzi sady JDK, která se má zpřístupnit v cestě. Použijte celou číselnou verzi, například 10.


architektury sady JDK
string. Požadovaný. Povolené hodnoty: x64, x86.

Určuje architekturu (x86, x64) sady JDK.


zdrojová sady JDK
string. Požadovaný. Povolené hodnoty: AzureStorage (Azure Storage), LocalDirectory (místní adresář), PreInstalled (předinstalované).

Určuje zdroj pro komprimovanou sadu JDK. Zdrojem může být Azure Blob Storage nebo místní adresář v agentu nebo zdrojovém úložišti nebo můžete použít předinstalovanou verzi Javy (k dispozici pro agenty hostované Microsoftem). V následujícím příkladu se dozvíte, jak používat předinstalovanou verzi Javy.

Poznámka

Tato verze úlohy přistupuje k úložišti Azure pomocí připojení služby Azure Resource Manager nakonfigurované pomocí federace identit úloh a Azure RBAC. Další informace najdete v tématu Přiřazení role Azure pro přístup k datům objektů blob.


souboru JDK
string. Požadováno při jdkSourceOption == LocalDirectory.

Určuje cestu k souboru archivu sady JDK, který obsahuje komprimovanou sadu JDK. Cesta může být ve zdrojovém úložišti nebo v místní cestě agenta. Soubor by měl být archiv (.zip, .tar.gz, .7z) obsahující složku bin na kořenové úrovni nebo v jednom adresáři. MacOS podporuje .pkg a .dmg soubory obsahující pouze jeden soubor .pkg uvnitř.


azureResourceManagerEndpoint - předplatného Azure
string. Požadováno při jdkSourceOption == AzureStorage.

Určuje předplatné Azure Resource Manageru pro sadu JDK.


azureStorageAccountName - název účtu úložiště
string. Požadováno při jdkSourceOption == AzureStorage.

Určuje účty úložiště Azure Classic nebo Resource Manager. Vyberte název účtu úložiště, ve kterém se nachází sada JDK.


azureContainerName - název kontejneru
string. Požadováno při jdkSourceOption == AzureStorage.

Určuje název kontejneru v účtu úložiště, kde se nachází sada JDK.


azureCommonVirtualFile - běžná virtuální cesta
string. Požadováno při jdkSourceOption == AzureStorage.

Určuje cestu k JDK uvnitř kontejneru úložiště Azure.


cílového adresáře
string. Požadováno při jdkSourceOption != PreInstalled.

Určuje cílový adresář, do kterého se má sada JDK extrahovat. V Linuxu a Windows se používá jako cílový adresář pro instalaci sady JDK. V systému macOS se tento adresář používá jako dočasná složka pro extrahování .dmg, protože macOS nepodporuje instalaci sady JDK do konkrétního adresáře.


název skupiny prostředků azureResourceGroupName -
string. Volitelný. Používá se při jdkSourceOption == AzureStorage.

Název skupiny prostředků účtu úložiště


cleanDestinationDirectory - Vyčištění cílového adresáře
boolean. Volitelný. Používá se při jdkSourceOption != PreInstalled. Výchozí hodnota: true.

Určuje možnost vyčištění cílového adresáře před extrahováním sady JDK do cílového adresáře.


createExtractDirectory - Vytvoření adresáře pro extrakci
boolean. Volitelný. Používá se při jdkSourceOption != PreInstalled. Výchozí hodnota: true.

Ve výchozím nastavení úloha vytvoří adresář podobný JAVA_HOME_8_X64_OpenJDK_zip pro extrahování sady JDK. Tato možnost zakáže vytvoření této složky a pokud je nastavena na false, sada JDK se nachází v kořenovém adresáři jdkDestinationDirectory.


Možnosti řízení úkolů

Všechny úkoly mají kromě vstupů úkolů také možnosti řízení. Další informace naleznete v tématu Možnosti ovládacího prvku a běžné vlastnosti úloh.

Výstupní proměnné

Žádný.

Poznámky

Pomocí této úlohy můžete získat konkrétní verzi Javy z uživatelem dodaného objektu blob Azure, umístění ve zdroji nebo agenta nebo mezipaměti nástrojů. Úloha také nastaví proměnnou prostředí JAVA_HOME. Tuto úlohu použijte ke změně verze Javy používané v úlohách Javy.

Poznámka

Pokud chcete spustit úlohu instalačního programu nástroje Java Tool v systému macOS, musí mít uživatel, pod kterým agent běží, oprávnění ke spuštění příkazu sudo bez hesla. Pokud chcete povolit toto oprávnění, můžete postupovat podle dalších kroků:

  1. Spusťte příkaz sudo visudo. Soubor sudoers se otevře pro úpravy.
  2. Přejděte do dolní části souboru a přidejte následující řádek: user ALL=NOPASSWD: /usr/sbin/installer (nahraďte uživatele skutečným aliasem uživatele).
  3. Uložte a zavřete soubor.

Příklady

Tady je příklad získání souboru archivu z místního adresáře v Linuxu. Soubor by měl být archiv (.zip, .gz) JAVA_HOME adresáře, takže obsahuje adresáře bin, lib, include, jreatd.

  - 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

Tady je příklad stažení archivního souboru ze služby Azure Storage. Soubor by měl být archiv (.zip, .gz) JAVA_HOME adresáře, takže obsahuje adresáře bin, lib, include, jreatd.

Poznámka

Tato verze úlohy přistupuje k úložišti Azure pomocí připojení služby Azure Resource Manager nakonfigurované pomocí federace identit úloh a Azure RBAC. Další informace najdete v tématu Přiřazení role Azure pro přístup k datům objektů 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

Tady je příklad použití předinstalované funkce. Tato funkce umožňuje používat verze Javy, které jsou předinstalované v agentu hostovaném Microsoftem. Dostupné předinstalované verze Javy najdete v zahrnutého softwarového sloupce v tabulce hostovaných agentů.

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

Požadavky

Požadavek Popis
Typy kanálů YAML, klasické sestavení, klasická verze
Běží na Agent, DeploymentGroup
požadavky Žádný
možnosti Spuštění tohoto úkolu splňuje následující požadavky pro všechny následné úkoly ve stejné úloze: Java, JDK
omezení příkazů Tato úloha se spouští s následujícími omezeními příkazů : omezeno:
nastavitelné proměnné Tento úkol má oprávnění k nastavit následující proměnné: PATH, JAVA_HOME*
Verze agenta 2.182.1 nebo vyšší
Kategorie úkolu Nástroj