이 작업을 사용하여 사용자가 제공한 Azure Blob 또는 도구 캐시에서 특정 버전의 Java를 획득하고 JAVA_HOME설정합니다.
통사론
# 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' | 'arm64'. 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.
#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.
입력
JDK 버전
string; 필수. 기본값: 8.
경로에서 사용할 수 있도록 JDK 버전을 지정합니다. 정수 버전(예: 10)을 사용합니다.
JDK 아키텍처
string; 필수. 허용되는 값: x64, x86, arm64.
JDK의 아키텍처(x86, x64)를 지정합니다.
JDK 아키텍처
string; 필수. 허용되는 값: x64, x86.
JDK의 아키텍처(x86, x64)를 지정합니다.
JDK 원본
string; 필수. 허용되는 값: AzureStorage(Azure Storage), LocalDirectory(로컬 디렉터리), PreInstalled(사전 설치됨)
압축된 JDK의 원본을 지정합니다. 원본은 Azure Blob Storage 또는 에이전트 또는 원본 리포지토리의 로컬 디렉터리이거나 미리 설치된 버전의 Java(Microsoft 호스팅 에이전트에 사용 가능)를 사용할 수 있습니다. 미리 설치된 Java 버전을 사용하는 방법에 대한 아래 예제를 참조하세요.
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 명령을 실행할 수 있는 권한이 있어야 합니다. 다음 단계에 따라 이 권한을 사용하도록 설정할 수 있습니다.
- sudo visudo 명령을 실행합니다. sudoers 파일이 편집용으로 열립니다.
- 파일 맨 아래로 이동하여
user ALL=NOPASSWD: /usr/sbin/installer(사용자를 실제 사용자 별칭으로 바꾸기) 줄을 추가합니다.- 파일을 저장하고 닫습니다.
예제
Linux의 로컬 디렉터리에서 보관 파일을 가져오는 예제는 다음과 같습니다. 파일은 JAVA_HOME 디렉터리의 보관 파일(.zip, .gz)이어야 하므로 bin, lib, include, jre등 디렉터리가 포함됩니다.
- 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에서 보관 파일을 다운로드하는 예제입니다.
파일은 JAVA_HOME 디렉터리의 보관 파일(.zip, .gz)이어야 하므로 bin, lib, include, jre등 디렉터리가 포함됩니다.
- 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 버전을 사용할 수 있습니다. 호스트된 에이전트 테이블포함된 소프트웨어 열을
- task: JavaToolInstaller@0
inputs:
versionSpec: '8'
jdkArchitectureOption: 'x64'
jdkSourceOption: 'PreInstalled'
요구 사항
| 요구 | 묘사 |
|---|---|
| 파이프라인 유형 | YAML, 클래식 빌드, 클래식 릴리스 |
| 다음에서 실행 | 에이전트, DeploymentGroup |
| 요구 | 없음 |
| 기능 | 이 작업을 실행하면 동일한 작업의 후속 작업에 대한 요구 |
| 명령 제한 | 이 작업은 다음 명령 제한사용하여 실행됩니다. |
| settable 변수 |
이 작업에는 PATH, JAVA_HOME*변수를 |
| 에이전트 버전 | 2.182.1 이상 |
| 작업 범주 | 도구 |
참고 항목
도구 설치 관리자 및 예제에 대한 설명은 도구 설치 관리자참조하세요.