VSTS Azure File Copy task and ACL



我正在使用VSTS(Visual Studio Team Services,以前称为Visual Studio Onine)使用构建定义中的Azure文件复制任务持续部署到Azure VM。

我遇到的问题是我在 Azure VM 上有一个 ACL 设置,该设置仅允许从我的办公室进行远程 Powershell 的连接。

使用 ACL 后,Azure 文件复制任务将失败,并显示错误,例如"WinRM 无法完成操作。 验证指定的计算机名称是否有效,计算机是否可通过网络访问,以及 WinRM 服务的防火墙例外是否已启用并允许从此计算机进行访问。 删除 ACL 后,一切正常。

需要明确的是,这不是 WinRM 配置或防火墙或类似内容的问题。 具体而言,是 VM 上的 ACL 阻止了该活动。

所以问题是,如何在不从虚拟机中完全删除ACL的情况下使其正常工作? 我不想向全世界开放 VM Powershell 终结点,但我需要能够使生成的 Azure 文件复制任务成功。

你可以有一个驻留在办公室网络中的本地生成代理,并配置内容,以便生成仅使用该代理。

https://msdn.microsoft.com/library/vs/alm/release/getting-started/configure-agents#installing

Azure 文件复制任务需要使用 WinRM

Https 协议,因此启用 ACL 时,托管生成代理将无法访问 Azure VM 上的 WinRM,这将导致 Azure 文件复制任务失败。

将文件从 Blob 容器复制到 Azure VM 时, 使用Windows Remote Management (WinRM) HTTPS协议。这 要求在 VM 上正确设置 WinRM HTTPS 服务,并且 还会在 VM 上安装证书。

据我所知,没有任何简单的解决方法。我建议你在网络中设置自己的生成代理,该代理可以访问 Azure VM WinRM。

最新更新