Azure Pipeline Yaml 错误:当前操作系统无法运行此任务

时间:2021-03-10 21:55:31

标签: azure-devops

下面是我写的将文件复制到我的 Azure blob 的任务,它在 Windows 上运行良好,但对于 mac 和 linux,它给了我错误“当前的操作系统无法运行此任务。这通常意味着任务仅针对 Windows 编写”我该如何解决这个问题?

出现错误的 Yaml 任务:

strategy:
          matrix:
            win:
              imageName:            'windows-2019'
              RootSuffix:           'x64-windows-staticlib'
              osSuffix:             'windows'
              LibFT4222Suffix:      'windows'
              matlabVersion:        '9.6.0-2'
              extraCmakeOptions:    ''
            mac:
              imageName:            'macOS-10.15'
              RootSuffix:           'x64-osx'
              osSuffix:             'osx'
              LibFT4222Suffix:      'x64-osx'
              matlabVersion:        '9.5.0'
              extraCmakeOptions:    ''
            linux:
              imageName:            'ubuntu-18.04'
              RootSuffix:           'x64-linux'
              osSuffix:             'linux'
              LibFT4222Suffix:      'linux'
              matlabVersion:        '9.5.0'
              extraCmakeOptions:    ''

        pool:
          vmImage: $(imageName)

还有任务:

 task: AzureFileCopy@2
          displayName: 'Publish ABC to Blob'
          inputs:
            SourcePath: '$(Build.SourcesDirectory)/ABC-$(osSuffix)'
            azureSubscription: 'Azure CICD'
            Destination: AzureBlob
            storage: '$(BlobStorageAccount)'
            ContainerName: '$(BlobContainer)'
            BlobPrefix: '$(BlobPrefix)/ABC/$(DeploymentVersion)'
            AdditionalArgumentsForBlobCopy: '/V /S'
            outputStorageUri: BlobUri
            outputStorageContainerSasToken: BlobSASToken

1 个答案:

答案 0 :(得分:1)

Azure File Copy task 是用 PowerShell 编写的,因此Windows 代理上运行时有效。如果您的管道需要 Linux 代理并且需要将文件复制到 Azure 存储帐户,请考虑在 Azure CLI task 中运行 az storage blob 命令作为替代方法。