JavaToolInstaller@0 - Java 도구 설치 관리자 v0 작업

이 작업을 사용하여 사용자가 제공한 Azure Blob 또는 도구 캐시에서 특정 버전의 Java를 획득하고 를 설정합니다 JAVA_HOME.

Syntax

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

입력

versionSpec - JDK 버전
string. 필수 요소. 기본값은 8입니다.

경로에서 사용할 수 있도록 JDK 버전을 지정합니다. 정수 버전(예: 10)을 사용합니다.


jdkArchitectureOption - JDK 아키텍처
string. 필수 요소. 허용되는 값: x64, x86.

JDK의 아키텍처(x86, x64)를 지정합니다.


jdkSourceOption - JDK 원본
string. 필수 요소. 허용되는 값: AzureStorage (Azure Storage), LocalDirectory (로컬 디렉터리), PreInstalled (사전 설치됨).

압축된 JDK의 원본을 지정합니다. 원본은 Azure Blob Storage 또는 에이전트 또는 원본 리포지토리의 로컬 디렉터리이거나 미리 설치된 Java 버전(Microsoft 호스팅 에이전트에 사용 가능)을 사용할 수 있습니다. 미리 설치된 Java 버전을 사용하는 방법에 대한 아래 예제를 참조하세요.


jdkSourceOption - JDK 원본
string. 필수 요소. 허용되는 값: AzureStorage (Azure Storage), LocalDirectory (로컬 디렉터리).

압축된 JDK의 원본을 지정합니다. 원본은 Azure Blob Storage 또는 에이전트 또는 원본 리포지토리의 로컬 디렉터리이거나 미리 설치된 Java 버전(Microsoft 호스팅 에이전트에 사용 가능)을 사용할 수 있습니다. 미리 설치된 Java 버전을 사용하는 방법에 대한 아래 예제를 참조하세요.


jdkFile - JDK 파일
string. 필요한 경우 jdkSourceOption == LocalDirectory입니다.

압축된 JDK를 포함하는 JDK 보관 파일의 경로를 지정합니다. 경로는 원본 리포지토리 또는 에이전트의 로컬 경로에 있을 수 있습니다. 파일은 루트 수준 또는 단일 디렉터리 내의 bin 폴더를 포함하는 보관 파일(.zip, .tar.gz, .7z)이어야 합니다. MacOS는 내부에 .pkg 파일이 하나만 포함된 .pkg 및 .dmg 파일을 지원합니다.


azureResourceManagerEndpoint - Azure 구독
string. 필요한 경우 jdkSourceOption == AzureStorage입니다.

JDK에 대한 Azure Resource Manager 구독을 지정합니다.


azureStorageAccountName - 스토리지 계정 이름
string. 필요한 경우 jdkSourceOption == AzureStorage입니다.

Azure 클래식 또는 Resource Manager 스토리지 계정을 지정합니다. JDK가 있는 스토리지 계정 이름을 선택합니다.


azureContainerName - 컨테이너 이름
string. 필요한 경우 jdkSourceOption == AzureStorage입니다.

JDK가 있는 스토리지 계정의 컨테이너 이름을 지정합니다.


azureCommonVirtualFile - 공통 가상 경로
string. 필요한 경우 jdkSourceOption == AzureStorage입니다.

Azure Storage 컨테이너 내의 JDK 경로를 지정합니다.


jdkDestinationDirectory - 대상 디렉터리
string. 필요한 경우 jdkSourceOption != PreInstalled입니다.

JDK를 추출할 대상 디렉터리를 지정합니다. Linux 및 Windows에서 JDK 설치의 대상 디렉터리로 사용됩니다. macOS에서는 macOS가 특정 디렉터리에 JDK 설치를 지원하지 않으므로 .dmg를 추출하기 위한 임시 폴더로 이 디렉터리가 사용됩니다.


jdkDestinationDirectory - 대상 디렉터리
string. 필수 요소.

JDK를 추출할 대상 디렉터리를 지정합니다. Linux 및 Windows에서 JDK 설치의 대상 디렉터리로 사용됩니다. macOS에서는 macOS가 특정 디렉터리에 JDK 설치를 지원하지 않으므로 .dmg를 추출하기 위한 임시 폴더로 이 디렉터리가 사용됩니다.


azureResourceGroupName - 리소스 그룹 이름
string. 선택 사항입니다. 을 사용할 때 jdkSourceOption == AzureStorage사용합니다.

스토리지 계정의 리소스 그룹 이름입니다.


cleanDestinationDirectory - 대상 디렉터리 정리
boolean. 선택 사항입니다. 을 사용할 때 jdkSourceOption != PreInstalled사용합니다. 기본값은 true입니다.

JDK를 추출하기 전에 대상 디렉터리를 클린 옵션을 지정합니다.


cleanDestinationDirectory - 대상 디렉터리 정리
boolean. 기본값은 true입니다.

JDK를 추출하기 전에 대상 디렉터리를 클린 옵션을 지정합니다.


createExtractDirectory - 추출을 위한 디렉터리 만들기
boolean. 선택 사항입니다. 을 사용할 때 jdkSourceOption != PreInstalled사용합니다. 기본값은 true입니다.

기본적으로 작업은 JDK를 추출하기 JAVA_HOME_8_X64_OpenJDK_zip 위해 유사한 디렉터리를 만듭니다. 이 옵션은 해당 폴더 만들기를 사용하지 않도록 설정하고 로 설정 false하면 JDK가 대신 의 jdkDestinationDirectory 루트에 있습니다.


작업 제어 옵션

모든 작업에는 작업 입력 외에 제어 옵션이 있습니다. 자세한 내용은 컨트롤 옵션 및 일반적인 작업 속성을 참조하세요.

출력 변수

없음

설명

이 작업을 사용하여 사용자가 제공한 Azure Blob, 원본 또는 에이전트의 위치 또는 도구 캐시에서 특정 버전의 Java를 가져옵니다. 또한 작업은 환경 변수를 JAVA_HOME 설정합니다. 이 작업을 사용하여 Java 작업에 사용되는 Java 버전을 변경합니다.

참고

macOS에서 Java 도구 설치 관리자 작업을 실행하려면 에이전트가 실행 중인 사용자에게 암호 없이 sudo 명령을 실행할 수 있는 권한이 있어야 합니다. 다음 단계에 따라 이 권한을 사용하도록 설정할 수 있습니다.

  1. sudo visudo 명령을 실행합니다. sudoers 파일이 열리고 편집할 수 있습니다.
  2. 파일의 맨 아래로 이동하여 다음 줄을 user ALL=NOPASSWD: /usr/sbin/installer 추가합니다(사용자를 실제 사용자 별칭으로 바꾸기).
  3. 파일을 저장하고 닫습니다.

예제

다음은 Linux의 로컬 디렉터리에서 보관 파일을 가져오는 예제입니다. 파일은 디렉터리의 보관 파일(.zip, .gz)JAVA_HOME이어야 하므로 , , lib, includejre등 디렉터리가 포함bin됩니다.

  - 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

다음은 Azure Storage에서 보관 파일을 다운로드하는 예제입니다. 파일은 디렉터리의 보관 파일(.zip, .gz)JAVA_HOME이어야 하므로 , , lib, includejre등 디렉터리가 포함bin됩니다.

- 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

다음은 "사전 설치된" 기능을 사용하는 예입니다. 이 기능을 사용하면 Microsoft 호스팅 에이전트에 미리 설치된 Java 버전을 사용할 수 있습니다. 호스트된 에이전트 테이블의 포함된 소프트웨어 열에서 미리 설치된 Java 버전을 찾을 수 있습니다.

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

요구 사항

요구 사항 Description
파이프라인 유형 YAML, 클래식 빌드, 클래식 릴리스
실행 중 에이전트, DeploymentGroup
요청 없음
Capabilities 이 작업을 실행하면 동일한 작업의 후속 작업에 대한 다음 요구 사항을 충족합니다. Java, JDK
명령 제한 사항 이 작업은 다음 명령 제한을 사용하여 실행됩니다. 제한됨
설정 가능한 변수 이 작업에는 PATH, JAVA_HOME* 변수를 설정할 수 있는 권한이 있습니다.
에이전트 버전 2.182.1 이상
작업 범주 도구
요구 사항 Description
파이프라인 유형 YAML, 클래식 빌드, 클래식 릴리스
실행 중 에이전트, DeploymentGroup
요청 없음
Capabilities 이 작업을 실행하면 동일한 작업의 후속 작업에 대한 다음 요구 사항을 충족합니다. Java, JDK
명령 제한 사항 모두
설정 가능한 변수 모두
에이전트 버전 지원되는 모든 에이전트 버전.
작업 범주 도구
요구 사항 Description
파이프라인 유형 YAML, 클래식 빌드, 클래식 릴리스
실행 중 에이전트, DeploymentGroup
요청 없음
Capabilities 이 작업을 실행하면 동일한 작업의 후속 작업에 대한 다음 요구 사항을 충족합니다. Java
명령 제한 사항 모두
설정 가능한 변수 모두
에이전트 버전 지원되는 모든 에이전트 버전.
작업 범주 도구

추가 정보

도구 설치 관리자 및 예제에 대한 설명은 도구 설치 관리자를 참조하세요.