다음을 통해 공유


JavaToolInstaller@1 - Java 도구 설치 관리자 v1 작업

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

통사론

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

입력

JDK 버전
string. 필수. 기본값: 8.

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


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

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


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

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

메모

이 버전의 작업은 워크로드 ID 페더레이션 및 Azure RBAC를 사용하여 구성된 Azure Resource Manager 서비스 연결 사용하여 Azure Storage에 액세스합니다. 자세한 내용은 Blob 데이터액세스하기 위한 Azure 역할 할당을 참조하세요.


JDK 파일
string. jdkSourceOption == LocalDirectory때 필요합니다.

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


Azure 구독
string. jdkSourceOption == AzureStorage때 필요합니다.

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


스토리지 계정 이름
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 추출하기 위한 임시 폴더로 사용됩니다.


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

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


cleanDestinationDirectory - 대상 디렉터리 정리
boolean. 선택적. jdkSourceOption != PreInstalled때 사용합니다. 기본값: 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의 로컬 디렉터리에서 보관 파일을 가져오는 예제는 다음과 같습니다. 파일은 JAVA_HOME 디렉터리의 보관 파일(.zip, .gz)이어야 하므로 bin, lib, include, jre등 디렉터리가 포함됩니다.

  - 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

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

메모

이 버전의 작업은 워크로드 ID 페더레이션 및 Azure RBAC를 사용하여 구성된 Azure Resource Manager 서비스 연결 사용하여 Azure Storage에 액세스합니다. 자세한 내용은 Blob 데이터액세스하기 위한 Azure 역할 할당을 참조하세요.

- 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

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

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

요구 사항

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