JavaToolInstaller@0 - Java 工具安裝程式 v0 工作
使用此工作可從使用者提供的 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'. 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 Tool Installer 工作,代理程式執行時必須有許可權執行 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 |
需求 | 沒有 |
功能 | 執行此工作符合下列 要求, 相同作業中的任何後續工作:Java、JDK |
命令限制 | 此工作會使用下列 命令限制執行: 受限制 |
Settable 變數 | 此工作具有 設定下列變數的許可權:PATH、JAVA_HOME* |
代理程式版本 | 2.182.1 或更新 |
工作類別 | 工具 |
要求 | 描述 |
---|---|
管線類型 | YAML、傳統組建、傳統版本 |
執行於 | Agent、DeploymentGroup |
需求 | 沒有 |
功能 | 執行此工作符合下列 要求, 相同作業中的任何後續工作:Java、JDK |
命令限制 | 任何 |
Settable 變數 | 任何 |
代理程式版本 | 所有支援的代理程式版本。 |
工作類別 | 工具 |
要求 | 描述 |
---|---|
管線類型 | YAML、傳統組建、傳統版本 |
執行於 | Agent、DeploymentGroup |
需求 | 沒有 |
功能 | 執行此工作符合下列 要求, 相同作業中的任何後續工作: Java |
命令限制 | 任何 |
Settable 變數 | 任何 |
代理程式版本 | 所有支援的代理程式版本。 |
工作類別 | 工具 |
另請參閱
如需工具安裝程式和範例的說明,請參閱 工具安裝程式。