Partager via


JavaToolInstaller@0 - Tâche du programme d’installation de l’outil Java v0

Utilisez cette tâche pour acquérir une version spécifique de Java à partir d’un objet blob Azure fourni par l’utilisateur ou le cache d’outils et définir JAVA_HOME.

Syntaxe

# 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.

Entrées

versionSpec - version JDK
string. Obligatoire. Valeur par défaut : 8.

Spécifie la version JDK à rendre disponible sur le chemin d’accès. Utilisez une version de nombre entière, telle que 10.


jdkArchitectureOption - architecture JDK
string. Obligatoire. Valeurs autorisées : x64, x86.

Spécifie l’architecture (x86, x64) du JDK.


jdkSourceOption - source JDK
string. Obligatoire. Valeurs autorisées : AzureStorage (Stockage Azure), LocalDirectory (Répertoire local), PreInstalled (préinstallé).

Spécifie la source du JDK compressé. La source peut être un stockage Blob Azure ou un répertoire local sur l’agent ou le référentiel source, ou vous pouvez utiliser la version préinstallée de Java (disponible pour les agents hébergés par Microsoft). Consultez l’exemple ci-dessous sur l’utilisation de la version préinstallée de Java.


jdkSourceOption - source JDK
string. Obligatoire. Valeurs autorisées : AzureStorage (Stockage Azure), LocalDirectory (Répertoire local).

Spécifie la source du JDK compressé. La source peut être un stockage Blob Azure ou un répertoire local sur l’agent ou le référentiel source, ou vous pouvez utiliser la version préinstallée de Java (disponible pour les agents hébergés par Microsoft). Consultez l’exemple ci-dessous sur l’utilisation de la version préinstallée de Java.


jdkFile - fichier JDK
string. Obligatoire lorsque jdkSourceOption == LocalDirectory.

Spécifie le chemin d’accès au fichier d’archive JDK qui contient le JDK compressé. Le chemin d’accès peut se trouver dans votre référentiel source ou un chemin local sur l’agent. Le fichier doit être une archive (.zip, .tar.gz, .7z) contenant le dossier bin au niveau racine ou à l’intérieur d’un seul répertoire. MacOS prend en charge les fichiers .pkg et .dmg contenant un seul fichier .pkg à l’intérieur.


azureResourceManagerEndpoint - abonnement Azure
string. Obligatoire lorsque jdkSourceOption == AzureStorage.

Spécifie l’abonnement Azure Resource Manager pour le JDK.


azureStorageAccountName - nom du compte de stockage
string. Obligatoire lorsque jdkSourceOption == AzureStorage.

Spécifie des comptes de stockage Azure Classic ou Resource Manager. Sélectionnez le nom du compte de stockage dans lequel se trouve le JDK.


azureContainerName - nom du conteneur
string. Obligatoire lorsque jdkSourceOption == AzureStorage.

Spécifie le nom du conteneur dans le compte de stockage où se trouve le JDK.


azureCommonVirtualFile - chemin virtuel commun
string. Obligatoire lorsque jdkSourceOption == AzureStorage.

Spécifie le chemin d’accès au JDK à l’intérieur du conteneur de stockage Azure.


jdkDestinationDirectory - répertoire de destination
string. Obligatoire lorsque jdkSourceOption != PreInstalled.

Spécifie le répertoire de destination dans lequel le JDK doit être extrait. Sur Linux et Windows, il s’agit du répertoire de destination de l’installation du JDK. Sur macOS, ce répertoire est utilisé comme dossier temporaire pour extraire les .dmg, car macOS ne prend pas en charge l’installation de JDK dans un répertoire spécifique.


jdkDestinationDirectory - répertoire de destination
string. Obligatoire.

Spécifie le répertoire de destination dans lequel le JDK doit être extrait. Sur Linux et Windows, il s’agit du répertoire de destination de l’installation du JDK. Sur macOS, ce répertoire est utilisé comme dossier temporaire pour extraire les .dmg, car macOS ne prend pas en charge l’installation de JDK dans un répertoire spécifique.


nom du groupe de ressources azureResourceGroupName -
string. Optionnel. Utilisez quand jdkSourceOption == AzureStorage.

Nom du groupe de ressources du compte de stockage.


cleanDestinationDirectory - de répertoire de destination Nettoyer
boolean. Optionnel. Utilisez quand jdkSourceOption != PreInstalled. Valeur par défaut : true.

Spécifie l’option permettant de nettoyer le répertoire de destination avant que JDK ne soit extrait dans celui-ci.


cleanDestinationDirectory - de répertoire de destination Nettoyer
boolean. Valeur par défaut : true.

Spécifie l’option permettant de nettoyer le répertoire de destination avant que JDK ne soit extrait dans celui-ci.


createExtractDirectory - Créer un répertoire pour extraire
boolean. Optionnel. Utilisez quand jdkSourceOption != PreInstalled. Valeur par défaut : true.

Par défaut, la tâche crée un répertoire similaire à JAVA_HOME_8_X64_OpenJDK_zip pour extraire JDK. Cette option désactive la création de ce dossier et, si elle est définie sur false, JDK se trouve à la racine de jdkDestinationDirectory à la place.


Options de contrôle de tâche

Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâche. Pour plus d’informations, consultez Options de contrôle et propriétés de tâche courantes.

Variables de sortie

Aucun.

Remarques

Utilisez cette tâche pour acquérir une version spécifique de Java à partir d’un objet blob Azure fourni par l’utilisateur, d’un emplacement dans la source ou sur l’agent, ou du cache des outils. La tâche définit également la variable d’environnement JAVA_HOME. Utilisez cette tâche pour modifier la version de Java utilisée dans les tâches Java.

Note

Pour exécuter la tâche programme d’installation de l’outil Java sur macOS, il est nécessaire pour l’utilisateur sous lequel l’agent s’exécute pour avoir l’autorisation d’exécuter la commande sudo sans mot de passe. Vous pouvez suivre les étapes suivantes pour activer cette autorisation :

  1. Exécutez la commande sudo visudo. Le fichier sudoers s’ouvre pour modification.
  2. Accédez au bas du fichier et ajoutez la ligne suivante : user ALL=NOPASSWD: /usr/sbin/installer (remplacez l’utilisateur par l’alias d’utilisateur réel).
  3. Enregistrez et fermez le fichier.

Exemples

Voici un exemple d’obtention du fichier d’archivage à partir d’un répertoire local sur Linux. Le fichier doit être une archive (.zip, .gz) du répertoire JAVA_HOME. Il inclut donc les répertoires bin, lib, include, jre, etc.

  - 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

Voici un exemple de téléchargement du fichier d’archivage à partir du stockage Azure. Le fichier doit être une archive (.zip, .gz) du répertoire JAVA_HOME. Il inclut donc les répertoires bin, lib, include, jre, etc.

- 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

Voici un exemple d’utilisation de la fonctionnalité « préinstallée ». Cette fonctionnalité vous permet d’utiliser des versions Java préinstallées sur l’agent hébergé par Microsoft. Vous trouverez les versions préinstallées disponibles de Java dans la colonne logicielle incluse dans la table des agents hébergés.

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

Exigences

Exigence Description
Types de pipelines YAML, Build Classique, Version Classique
Exécutions sur Agent, DeploymentGroup
demandes Aucun
fonctionnalités de L’exécution de cette tâche répond aux exigences de suivantes pour toutes les tâches suivantes dans le même travail : Java, JDK
restrictions de commande Cette tâche s’exécute à l’aide des restrictions de commande suivantes: restreint
variables settables Cette tâche est autorisée à définir les variables suivantes: PATH, JAVA_HOME*
Version de l’agent 2.182.1 ou version ultérieure
Catégorie de tâche Outil
Exigence Description
Types de pipelines YAML, Build Classique, Version Classique
Exécutions sur Agent, DeploymentGroup
demandes Aucun
fonctionnalités de L’exécution de cette tâche répond aux exigences de suivantes pour toutes les tâches suivantes dans le même travail : Java, JDK
restrictions de commande Quelconque
variables settables Quelconque
Version de l’agent Toutes les versions de l’agent prises en charge.
Catégorie de tâche Outil
Exigence Description
Types de pipelines YAML, Build Classique, Version Classique
Exécutions sur Agent, DeploymentGroup
demandes Aucun
fonctionnalités de L’exécution de cette tâche répond aux exigences de suivantes pour toutes les tâches suivantes dans le même travail : Java
restrictions de commande Quelconque
variables settables Quelconque
Version de l’agent Toutes les versions de l’agent prises en charge.
Catégorie de tâche Outil

Voir aussi

Pour obtenir une explication des programmes d’installation et des exemples d’outils, consultez programmes d’installation de l’outil.