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 명령을 실행할 수 있는 권한이 있어야 합니다. 다음 단계에 따라 이 권한을 사용하도록 설정할 수 있습니다.
- sudo visudo 명령을 실행합니다. sudoers 파일이 편집용으로 열립니다.
- 파일 맨 아래로 이동하여
user ALL=NOPASSWD: /usr/sbin/installer
(사용자를 실제 사용자 별칭으로 바꾸기) 줄을 추가합니다.- 파일을 저장하고 닫습니다.
예제
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 버전을 사용할 수 있습니다. 호스트된 에이전트 테이블포함된 소프트웨어 열을
- task: JavaToolInstaller@1
inputs:
versionSpec: '8'
jdkArchitectureOption: 'x64'
jdkSourceOption: 'PreInstalled'