我有多个Azure VM(Classic)正在运行,并希望将setup.exe作为TFS构建过程的结果复制到这些VM。由于设置大小约为800MB,我不想为每个VM复制x次。将它复制一次然后将其分发给所有VM的最佳做法是什么?
答案 0 :(得分:2)
由于您使用的是Azure VM,因此可以设置文件存储,然后让VM将驱动器映射到文件存储。这样您就可以将文件上传到一个位置,但所有虚拟机都可以访问它 https://docs.microsoft.com/en-us/azure/storage/storage-dotnet-how-to-use-files
答案 1 :(得分:2)
通常我们使用Azure File Copy任务,使用 AzCopy 来处理复制情况。
当目标是Azure VM时,首先将文件复制到 自动生成 Azure blob容器然后 已下载到虚拟机中。文件成功复制到VM后,将删除容器。
即使它没有多次将同一文件从构建代理复制到VM。下载是在天蓝色的内部。 800MB仍然是一个大文件。这需要很长时间。
文件存储是一个很好的解决方案,但是您需要首先手动将驱动器映射到所有VM的文件存储。并且AzCopy不支持文件存储。您需要在TFS版本定义中使用powershell脚本来处理此问题。