如何将文件从Azure文件存储复制到发布管道TFS中的Azure VM?

Nav*_*mar 4 tfs azure azure-devops azure-pipelines-release-pipeline

是否有任何内置的 TFS 构建任务或 PowerShell 脚本可以通过 TFS 中的发布部署管道将文件从 Azure 文件存储复制到 Azure VM。我尝试在互联网上查找一些内容,但没有取得任何成果。

Pat*_*SFT 6

不,我们没有这种内置任务。我们有一个Azure 文件复制任务,它使用它将应用程序文件和其他项目复制到 Microsoft Azure 存储 blob 或虚拟机 (VM)。

当目标是 Azure VM 时,文件首先复制到自动生成的 Azure Blob 容器,然后下载到 VM 中。文件成功复制到虚拟机后,容器将被删除。

您可以在 VM 上使用AzCopy 命令将数据从 blob 复制/下载到本地驱动程序。

  1. 从http://aka.ms/downloadazcopy安装 AzCopy
  2. 阅读文档:https://learn.microsoft.com/en-us/azure/storage/storage-use-azcopy
  3. cd "C:\Program Files (x86)\Microsoft SDKs\Azure\AzCopy"
  4. 获取 Blob 存储(辅助)密钥
  5. Powershell:Blob 上传单个文件

    .\AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer/myfolder/ /DestKey:key /Pattern:abc.txt
Run Code Online (Sandbox Code Playgroud)

  1. 登录远程虚拟机

  2. Powershell:Blob 下载单个文件

    .\AzCopy /Source:https://myaccount.file.core.windows.net/myfileshare/myfolder/ /Dest:C:\myfolder /SourceKey:key /Pattern:abc.txt
Run Code Online (Sandbox Code Playgroud)

对于 PowerShell,您需要在所有平台上使用 PowerShell Core 6.x 及更高版本。它可与使用 Windows PowerShell 5.1(仅限 Windows)或 PowerShell 6(Windows 和 Linux)的 Windows 和 Linux 虚拟机配合使用。

您可以在本文档中找到 PowerShell 命令:快速入门:使用 Azure PowerShell 上传、下载和列出 Blob