下面是我写的将文件复制到我的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
此Azure文件复制任务是在PowerShell中编写的,因此只能在中工作Windows代理。如果您的管道需要Linux代理并需要将文件复制到Azure存储帐户,请考虑在Azure CLI任务中运行az storage blob
命令作为替代方案。