Azure DevOps AzureFileCopy@4 任务将文件复制到没有 Public IP 的 VM

Azure DevOps AzureFileCopy@4 task copy files to VM with no Public IP

我有一个 DevOps 管道 AzureFileCopy@4 任务,我需要将文件复制到 VM。任务设置很简单:

    - task: AzureFileCopy@4
      inputs:
        azureSubscription: '<subscription>'
        storage: '<storagename>'
        SourcePath: 'testfile.txt'
        Destination: 'AzureVMs'
        resourceGroup: 'test-rg'
        MachineNames: 'TEST-VM'
        vmsAdminUserName: 'testAdmin'
        vmsAdminPassword: '$(TestAdminPassword)'
        TargetPath: 'c:\destination'

文件已上传到存储,但日志随后显示以下错误:

##[error]Unable to get FQDN for all resources in ResourceGroup : 'test-rg'

我认为这是因为 VM 没有与之关联的 Public IP,因为要求此 VM 不会 public 公开。我知道相当明显的答案似乎是它需要一个 public IP,但在此管道的其他步骤中,有一些 Powershell 任务使用 az vm [=28= 在同一 VM 上执行]-command 并提供机器名称和资源组,就像这一步一样,所以我希望有办法继续使用它。

是否可以在 DevOps 中使用 AzureFileCopy 将文件复制到没有 Public IP 的 VM?

根据此 thread:不,没有 public IP 就无法使用 Azure 文件副本。 Public VM 的 IP 地址是 Azure 文件复制任务所必需的。这是从代理建立到机器的连接所必需的。