我正在 Azure DevOps 上构建发布管道。我的发布的一部分是将一堆文件复制到 Azure VM。据我了解,目标机器需要打开PowerShell 5986端口。
我有一个打开端口 5986 的虚拟机(我通过使用“目标计算机上的 PowerShell”任务远程调用此虚拟机上的一些命令来验证这一点)。 我添加了“Windows 计算机文件复制”任务并填充了字段: - 来源 - 机器 - 管理员登录 - 密码 - 目标文件夹
在“Machines”字段中,我输入了目标机器的IP。
运行该版本后,我收到错误:
Failed to Create PSDrive with Destination: '\\11.11.11.11\C$\TargetDirectory', ErrorMessage: 'The network path was not found' The network path was not found
我还尝试将 IP 地址与端口一起输入,格式如下:11.11.11.11:5986
然后,我得到了这个错误:
Cannot convert value "\23.97.151.221:5986" to type "System.Uri". Error: "Invalid URI: The hostname could not be parsed."
文档 ( https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/windows-machine-file-copy?view=azure-devops ) 表示允许带有端口的 IP 地址。
这里有什么问题吗?
最佳答案
我在执行这些操作时遇到了完全相同的错误:
最初在我的发布管道中,我有一个代理作业,我在该作业下创建了一个 Windows 计算机文件复制任务,并正确填写了所有详细信息。我使用目标服务器(Windows azure VM)的公共(public) IP 地址设置了 Machines 字段,但我总是收到您报告的此错误。
我尝试使用 Azure 文件复制任务,但遇到了另一个问题(错误消息:无法获取 ResourceGroup: {resourceGroupName} 中所有资源的 FQDN),此后我无法修复该问题付出了很多努力。
这是对我有用的解决方案:
我没有运行代理作业,而是运行了部署组作业。通过部署组,我不需要 IP 地址即可连接到我的虚拟机。为 Azure VM 设置部署组非常简单且解释清楚 here
我在添加的部署组作业下创建了 Windows 计算机文件复制任务。我为该任务填写了相同的详细信息,只不过我在“机器”字段中输入了计算机名称,而不是 Windows VM 的 IP 地址,并且文件复制任务成功运行!
希望这有帮助
关于azure - Windows 计算机文件复制 - DevOps 任务和 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56459754/