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 儲存體) 、 LocalDirectory
(本機目錄) , PreInstalled
(預先安裝) 。
指定壓縮 JDK 的來源。 來源可以是代理程式或來源存放庫上的 Azure Blob 儲存體或本機目錄,或者您可以使用預先安裝的 JAVA (版本,供 Microsoft 裝載的代理程式) 使用。 請參閱下列範例,以瞭解如何使用預先安裝的 JAVA 版本。
jdkSourceOption
- JDK 來源
string
. 必要。 允許的值: AzureStorage
(Azure 儲存體) , LocalDirectory
(本機目錄) 。
指定壓縮 JDK 的來源。 來源可以是代理程式或來源存放庫上的 Azure Blob 儲存體或本機目錄,或者您可以使用預先安裝的 JAVA (版本,供 Microsoft 裝載的代理程式) 使用。 請參閱下列範例,以瞭解如何使用預先安裝的 JAVA 版本。
jdkFile
- JDK 檔案
string
. 當 jdkSourceOption == LocalDirectory
時為必要。
指定包含壓縮 JDK 之 JDK 封存檔案的路徑。 路徑可能位於您的來源存放庫或代理程式上的本機路徑中。 檔案應該是封存 (.zip、.tar.gz、.7z) 包含根層級或單一目錄內的 bin 資料夾。 MacOS 支援 .pkg 和 .dmg 檔案,其中只包含一個 .pkg 檔案。
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 儲存體容器內 JDK 的路徑。
jdkDestinationDirectory
- 目的地目錄
string
. 當 jdkSourceOption != PreInstalled
時為必要。
指定應該擷取 JDK 的目的地目錄。 在 Linux 和 Windows 上,這會作為 JDK 安裝的目的地目錄。 在 macOS 上,此目錄會作為擷取 .dmg 的暫存資料夾,因為 macOS 不支援將 JDK 安裝到特定目錄。
jdkDestinationDirectory
- 目的地目錄
string
. 必要。
指定應該擷取 JDK 的目的地目錄。 在 Linux 和 Windows 上,這會作為 JDK 安裝的目的地目錄。 在 macOS 上,此目錄會作為擷取 .dmg 的暫存資料夾,因為 macOS 不支援將 JDK 安裝到特定目錄。
azureResourceGroupName
- 資源組名
string
. 選擇性。 使用 時機 jdkSourceOption == AzureStorage
。
儲存體帳戶的資源組名。
cleanDestinationDirectory
- 清除目的地目錄
boolean
. 選擇性。 使用 時機 jdkSourceOption != PreInstalled
。 預設值:true
。
指定在 JDK 解壓縮到目的地目錄之前清除目的地目錄的選項。
cleanDestinationDirectory
- 清除目的地目錄
boolean
. 預設值:true
。
指定在 JDK 解壓縮到目的地目錄之前清除目的地目錄的選項。
createExtractDirectory
- 建立用來擷取的目錄
boolean
. 選擇性。 使用 時機 jdkSourceOption != PreInstalled
。 預設值:true
。
根據預設,工作會建立類似 JAVA_HOME_8_X64_OpenJDK_zip
用來擷取 JDK 的目錄。 此選項會停用該資料夾的建立,如果設定為 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 儲存體下載封存檔案的範例。
檔案應該是目錄的 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 版本。 您可以在託管 代理程式資料表的內含軟體資料行中找到可用的預先安裝 JAVA 版本。
- task: JavaToolInstaller@0
inputs:
versionSpec: '8'
jdkArchitectureOption: 'x64'
jdkSourceOption: 'PreInstalled'
規格需求
需求 | 描述 |
---|---|
管線類型 | YAML、傳統組建、傳統版本 |
在 上執行 | Agent、DeploymentGroup |
要求 | 無 |
Capabilities | 執行這項工作可滿足相同作業中任何後續工作的需求:JAVA、JDK |
命令限制 | 此工作會使用下列 命令限制執行:受限制 |
可設定變數 | 此工作具有 設定下列變數的許可權:PATH,JAVA_HOME* |
代理程式版本 | 2.182.1 或更新版本 |
工作類別 | 工具 |
需求 | 描述 |
---|---|
管線類型 | YAML、傳統組建、傳統版本 |
在 上執行 | Agent、DeploymentGroup |
要求 | 無 |
Capabilities | 執行這項工作可滿足相同作業中任何後續工作的需求:JAVA、JDK |
命令限制 | 任意 |
可設定變數 | 任意 |
代理程式版本 | 所有支援的代理程式版本。 |
工作類別 | 工具 |
需求 | 描述 |
---|---|
管線類型 | YAML、傳統組建、傳統版本 |
在 上執行 | Agent、DeploymentGroup |
要求 | 無 |
Capabilities | 執行這項工作可滿足相同作業中任何後續工作的需求: JAVA |
命令限制 | 任意 |
可設定變數 | 任意 |
代理程式版本 | 所有支援的代理程式版本。 |
工作類別 | 工具 |
另請參閱
如需工具安裝程式和範例的說明,請參閱 工具安裝程式。