在适用于MacOS代理的Azure管道上安装Java 14

qyzbxkaa  于 2022-11-25  发布在  Mac
关注(0)|答案(1)|浏览(134)

我需要在托管代理(macos-12)上使用Java 14,我正在尝试通过脚本安装它,然后使用JavaToolInstaller任务使其可用。
我修改了https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/tool/java-tool-installer?view=azure-devops的脚本

jobs:
- job: RunApiTests
  pool:
    vmImage: macOS-12
  condition: ne(variables['Build.SourceBranch'], 'refs/heads/main')
  steps:
  - task: JavaToolInstaller@0
    displayName: Install Java 14
    inputs:
      versionSpec: '14'
      jdkArchitectureOption: 'x64'
      jdkSourceOption: AzureStorage
      azureResourceManagerEndpoint: {azureResourceManagerEndpoint}
      azureStorageAccountName: {azureStorageAccountName}
      azureContainerName: openjdk
      azureCommonVirtualFile: 'openjdk-14.0.2.zip'
      jdkDestinationDirectory: '$(agent.toolsDirectory)/jdk14'
      cleanDestinationDirectory: false

下面是我得到的错误:

##[error]JDK file is not valid. Verify if JDK file contains only one root folder with 'bin' inside.

我从https://jdk.java.net/archive/下载了用于Mac的14.0.2 (build 14.0.2+12) jdk,我只将Home文件夹压缩为zip文件,因为bin在其中。
因此,根据要求,zip文件仅包含一个根文件夹'Home',其中包含bin
我需要有关为什么出现此错误的帮助。

3htmauhk

3htmauhk1#

我试着在我的管道中测试你的yaml,它起作用了。下面是我的步骤。
我下载了此软件包:

在我的zip中,我有这些文件:

已上载到存储帐户。

你好

trigger:
- none

pool:
  vmImage: macos-12

steps:
- task: JavaToolInstaller@0
  inputs:
    versionSpec: '14'
    jdkArchitectureOption: 'x64'
    jdkSourceOption: 'AzureStorage'
    azureResourceManagerEndpoint: 'myEndpoint'
    azureStorageAccountName: 'teststorage'
    azureContainerName: 'test'
    azureCommonVirtualFile: 'homefolder.zip'
    jdkDestinationDirectory: '$(agent.toolsDirectory)/jdk14'
    cleanDestinationDirectory: false

结果:

相关问题