次の方法で共有


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 など) を使用します。


jdkArchitectureOption - JDK アーキテクチャの
string. 必須。 使用できる値: x64x86

JDK のアーキテクチャ (x86x64) を指定します。


JDK ソース を する
string. 必須。 使用できる値: AzureStorage (Azure Storage)、LocalDirectory (ローカル ディレクトリ)、PreInstalled (プレインストール)。

圧縮 JDK のソースを指定します。 ソースには、Azure BLOB ストレージ、エージェントまたはソース リポジトリ上のローカル ディレクトリ、または事前にインストールされたバージョンの 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 では、1 つの.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 ストレージ コンテナー内の JDK へのパスを指定します。


宛先ディレクトリ を する
string. jdkSourceOption != PreInstalledする場合に必要です。

JDK を抽出する宛先ディレクトリを指定します。 Linux および Windows では、これは JDK インストールの宛先ディレクトリとして使用されます。 macOS では、macOS では特定のディレクトリへの JDK のインストールがサポートされていないため、このディレクトリは.dmgを抽出するための一時フォルダーとして使用されます。


リソース グループ名 を する
string. 随意。 jdkSourceOption == AzureStorageするときに使用します。

ストレージ アカウントのリソース グループ名。


cleanDestinationDirectory - Clean destination directory
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 Tool Installer タスクを実行するには、エージェントを実行しているユーザーが、パスワードなしで sudo コマンドを実行する権限を持っている必要があります。 次の手順に従って、このアクセス許可を有効にすることができます。

  1. sudo visudo コマンドを実行します。 編集用に sudoers ファイルが開きます。
  2. ファイルの下部に移動し、次の行を追加します: user ALL=NOPASSWD: /usr/sbin/installer (ユーザーを実際のユーザー エイリアスに置き換えます)。
  3. ファイルを保存して閉じます。

Linux 上のローカル ディレクトリからアーカイブ ファイルを取得する例を次に示します。 ファイルは、JAVA_HOME ディレクトリのアーカイブ (.zip、.gz) である必要があるため、binlibincludejreなどのディレクトリが含まれます。

  - 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) である必要があるため、binlibincludejreなどのディレクトリが含まれます。

手記

このバージョンのタスクは、ワークロード 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 バージョンを使用できます。 Java の使用可能なプレインストールバージョンは、ホストされているエージェントテーブルのに含まれているソフトウェア列 で確認できます。

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

必要条件

要件 形容
パイプラインの種類 YAML、クラシック ビルド、クラシック リリース
実行日 エージェント、DeploymentGroup
の需要 何一つ
機能の このタスクの実行は、同じジョブ内の後続のタスクに対して を要求する を満たします。Java、JDK
コマンドの制限 このタスクは、次の コマンド制限: restricted を使用して実行されます。
設定可能な変数 このタスクには、PATH、JAVA_HOME*変数を 設定する権限があります。
エージェントのバージョン 2.182.1 以上
タスク カテゴリ 道具