下面是我写的将文件复制到我的 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
答案 0 :(得分:1)
此 Azure File Copy task 是用 PowerShell 编写的,因此仅在 Windows 代理上运行时有效。如果您的管道需要 Linux 代理并且需要将文件复制到 Azure 存储帐户,请考虑在 Azure CLI task 中运行 az storage blob
命令作为替代方法。