JavaToolInstaller@0 - Tugas v0 penginstal alat Java

Gunakan tugas ini untuk memperoleh versi Java tertentu dari blob Azure yang disediakan pengguna atau cache alat dan atur JAVA_HOME.

Sintaks

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

Input

versionSpec - Versi JDK
string. Wajib diisi. Nilai default: 8.

Menentukan versi JDK untuk tersedia di jalur. Gunakan versi seluruh nomor, seperti 10.


jdkArchitectureOption - Arsitektur JDK
string. Wajib diisi. Nilai yang diizinkan: x64, x86.

Menentukan arsitektur (x86, x64) dari JDK.


jdkSourceOption - Sumber JDK
string. Wajib diisi. Nilai yang diizinkan: AzureStorage (Azure Storage), LocalDirectory (Direktori Lokal), PreInstalled (Pra-instal).

Menentukan sumber untuk JDK terkompresi. Sumbernya dapat berupa penyimpanan blob Azure atau direktori lokal pada agen atau repositori sumber, atau Anda dapat menggunakan versi Java yang telah diinstal sebelumnya (tersedia untuk agen yang dihosting Microsoft). Silakan lihat contoh di bawah ini tentang cara menggunakan versi Java yang telah diinstal sebelumnya.


jdkSourceOption - Sumber JDK
string. Wajib diisi. Nilai yang diizinkan: AzureStorage (Azure Storage), LocalDirectory (Direktori Lokal).

Menentukan sumber untuk JDK terkompresi. Sumbernya dapat berupa penyimpanan blob Azure atau direktori lokal pada agen atau repositori sumber, atau Anda dapat menggunakan versi Java yang telah diinstal sebelumnya (tersedia untuk agen yang dihosting Microsoft). Silakan lihat contoh di bawah ini tentang cara menggunakan versi Java yang telah diinstal sebelumnya.


jdkFile - File JDK
string. Diperlukan saat jdkSourceOption == LocalDirectory.

Menentukan jalur ke file arsip JDK yang berisi JDK terkompresi. Jalur dapat berada di repositori sumber Anda atau jalur lokal pada agen. File harus berupa arsip (.zip, .tar.gz, .7z) yang berisi folder bin pada tingkat akar atau di dalam satu direktori. MacOS mendukung file .pkg dan .dmg yang hanya berisi satu file .pkg di dalamnya.


azureResourceManagerEndpoint - Langganan Azure
string. Diperlukan saat jdkSourceOption == AzureStorage.

Menentukan langganan Azure Resource Manager untuk JDK.


azureStorageAccountName - Nama akun penyimpanan
string. Diperlukan saat jdkSourceOption == AzureStorage.

Menentukan akun penyimpanan Azure Classic atau Resource Manager. Pilih nama akun penyimpanan tempat JDK berada.


azureContainerName - Nama kontainer
string. Diperlukan saat jdkSourceOption == AzureStorage.

Menentukan nama kontainer di akun penyimpanan tempat JDK berada.


azureCommonVirtualFile - Jalur virtual umum
string. Diperlukan saat jdkSourceOption == AzureStorage.

Menentukan jalur ke JDK di dalam kontainer penyimpanan Azure.


jdkDestinationDirectory - Direktori tujuan
string. Diperlukan saat jdkSourceOption != PreInstalled.

Menentukan direktori tujuan tempat JDK harus diekstrak. Di Linux dan Windows, ini digunakan sebagai direktori tujuan untuk penginstalan JDK. Di macOS, direktori ini digunakan sebagai folder sementara untuk mengekstrak .dmg karena macOS tidak mendukung penginstalan JDK ke direktori tertentu.


jdkDestinationDirectory - Direktori tujuan
string. Wajib diisi.

Menentukan direktori tujuan tempat JDK harus diekstrak. Di Linux dan Windows, ini digunakan sebagai direktori tujuan untuk penginstalan JDK. Di macOS, direktori ini digunakan sebagai folder sementara untuk mengekstrak .dmg karena macOS tidak mendukung penginstalan JDK ke direktori tertentu.


azureResourceGroupName - Nama Grup Sumber Daya
string. Opsional. Gunakan saat jdkSourceOption == AzureStorage.

Nama Grup Sumber Daya akun penyimpanan.


cleanDestinationDirectory - Bersihkan direktori tujuan
boolean. Pilihan. Gunakan saat jdkSourceOption != PreInstalled. Nilai default: true.

Menentukan opsi untuk membersihkan direktori tujuan sebelum JDK diekstraksi ke dalamnya.


cleanDestinationDirectory - Bersihkan direktori tujuan
boolean. Nilai default: true.

Menentukan opsi untuk membersihkan direktori tujuan sebelum JDK diekstraksi ke dalamnya.


createExtractDirectory - Membuat direktori untuk mengekstrak
boolean. Pilihan. Gunakan saat jdkSourceOption != PreInstalled. Nilai default: true.

Secara default, tugas membuat direktori yang mirip JAVA_HOME_8_X64_OpenJDK_zip dengan untuk mengekstrak JDK. Opsi ini menonaktifkan pembuatan folder tersebut dan, jika diatur ke false, JDK terletak di akar jdkDestinationDirectory sebagai gantinya.


Opsi kontrol tugas

Semua tugas memiliki opsi kontrol selain input tugas mereka. Untuk informasi selengkapnya, lihat Opsi kontrol dan properti tugas umum.

Variabel output

Tidak ada.

Keterangan

Gunakan tugas ini untuk memperoleh versi Java tertentu dari blob Azure yang disediakan pengguna, lokasi di sumber atau di agen, atau cache alat. Tugas ini juga mengatur JAVA_HOME variabel lingkungan. Gunakan tugas ini untuk mengubah versi Java yang digunakan dalam tugas Java.

Catatan

Untuk menjalankan tugas Penginstal Alat Java di macOS, diperlukan bagi pengguna di mana agen berjalan untuk memiliki izin untuk menjalankan perintah sudo tanpa kata sandi. Anda dapat mengikuti langkah-langkah berikutnya untuk mengaktifkan izin ini:

  1. Jalankan perintah sudo visudo . File sudoers terbuka untuk pengeditan.
  2. Buka bagian bawah file dan tambahkan baris berikut: user ALL=NOPASSWD: /usr/sbin/installer (Ganti pengguna dengan alias pengguna yang sebenarnya).
  3. Simpan dan tutup file.

Contoh

Berikut adalah contoh mendapatkan file arsip dari direktori lokal di Linux. File harus berupa arsip (.zip, .gz) JAVA_HOME direktori, sehingga mencakup bindirektori , , libinclude, jre, dll.

  - 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

Berikut adalah contoh mengunduh file arsip dari Azure Storage. File harus berupa arsip (.zip, .gz) JAVA_HOME direktori, sehingga mencakup bindirektori , , libinclude, jre, dll.

- 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

Berikut adalah contoh penggunaan fitur "pra-instal". Fitur ini memungkinkan Anda menggunakan versi Java yang telah diinstal sebelumnya pada agen yang dihosting Microsoft. Anda dapat menemukan versi Java yang telah diinstal sebelumnya yang tersedia di kolom perangkat lunak yang disertakan dalam tabel agen yang dihosting.

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

Persyaratan

Persyaratan Deskripsi
Jenis alur YAML, Build klasik, Rilis klasik
Berjalan pada Agen, DeploymentGroup
Permintaan Tidak ada
Kemampuan Menjalankan tugas ini memenuhi tuntutan berikut untuk setiap tugas berikutnya dalam pekerjaan yang sama: Java, JDK
Pembatasan perintah Tugas ini berjalan menggunakan pembatasan perintah berikut: dibatasi
Variabel yang dapat diatur Tugas ini memiliki izin untuk mengatur variabel berikut: PATH, JAVA_HOME*
Versi agen 2.182.1 atau lebih tinggi
Kategori tugas Alat
Persyaratan Deskripsi
Jenis alur YAML, Build klasik, Rilis klasik
Berjalan pada Agen, DeploymentGroup
Permintaan Tidak ada
Kemampuan Menjalankan tugas ini memenuhi tuntutan berikut untuk setiap tugas berikutnya dalam pekerjaan yang sama: Java, JDK
Pembatasan perintah Apa pun
Variabel yang dapat diatur Apa pun
Versi agen Semua versi agen yang didukung.
Kategori tugas Alat
Persyaratan Deskripsi
Jenis alur YAML, Build klasik, Rilis klasik
Berjalan pada Agen, DeploymentGroup
Permintaan Tidak ada
Kemampuan Menjalankan tugas ini memenuhi tuntutan berikut untuk setiap tugas berikutnya dalam pekerjaan yang sama: Java
Pembatasan perintah Apa pun
Variabel yang dapat diatur Apa pun
Versi agen Semua versi agen yang didukung.
Kategori tugas Alat

Lihat juga

Untuk penjelasan tentang alat penginstal dan contoh, lihat Alat penginstal.