具有Azure DevOps管道的AzureFileCopy失败-'AzCopy.exe以非零退出退出

时间:2020-05-08 14:12:14

标签: azure-devops

我尝试将ARM模板复制到存储中,但是失败了。 YML有什么问题?

错误:

& "AzCopy\AzCopy.exe" logout
INFO: Logout succeeded.
INFO: AzCopy.exe: A newer version 10.4.3 is available to download

Disconnect-AzAccount -Scope Process -ErrorAction Stop
Clear-AzContext -Scope Process -ErrorAction Stop
##[error]Upload to container: 'arm' in storage account: 'devopsstorageken' with blob prefix: 'test' 
failed with error: 'AzCopy.exe exited with non-zero exit code while uploading files to blob storage.' 
For more info please refer to https://aka.ms/azurefilecopyreadme
Finishing: AzureFileCopy

YML:

- task: AzureFileCopy@4
  inputs:
    SourcePath: '$(Build.Repository.LocalPath)/ARMTemplates/CreateSQLServerARM'
    azureSubscription: 'TestRG-Conn'
    Destination: 'AzureBlob'
    storage: 'devopsstorageken'
    blobPrefix: 'test'
    ContainerName: 'arm'

2 个答案:

答案 0 :(得分:10)

我尝试将ARM模板复制到存储中,但是失败了。有什么问题 与YML?

您的yml看起来不错。我想任务本身可能有问题。

作为一种解决方法,我们可以使用AzureFileCopy@3,在此版本中,我们不需要在Azure Web Portal中做任何额外的工作。

在预览AzureFileCopy@4中,存在一些差异。我们需要确保在此任务中使用的Service Principal有权访问存储帐户。对我来说,我需要导航到Access control页,并导航到Add a role assignment(存储Blob数据贡献者/所有者角色)到我的服务主体/受管理身份:

enter image description here

这样AzureFileCopy版本4也可以在我这边工作。

答案 1 :(得分:0)

Artifact Path请正确检查来源*。只是为了进行故障排除,提供工件的绝对路径,然后尝试进行部署,您就可以做到。

一旦成功,请对产品进行反向工程,并在Source的绝对路径上进行工作。 在版本2上运行良好。

注意:如果您正在使用“提取文件”任务,请尝试将其替换为“解压缩”任务