Azure Pipelines - 使用 azcopy 下载文件

2024-04-05

我可以看到有一个任务将本地文件上传到Azure存储或VM。但是我们如何从 blob 或文件共享下载到管道代理中呢?目前我正在使用 azcopy 和 SAS URI。 Pipelines 中是否有一个任务可以使用服务连接来执行此操作?


因此,由于我从 Azure 存储共享(不是 blob 或容器)下载文件,azcopy 的速度要快得多。使用az storage file download-batch太慢了。相反,我们可以使用 bash 来调用 azcopy。

在管道代理中安装 azcopy

- task: Bash@3
  displayName: Install azcopy
  inputs:
    targetType: 'inline'
    script: |
      curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
      mkdir $(Agent.ToolsDirectory)/azcopy
      wget -O $(Agent.ToolsDirectory)/azcopy/azcopy_v10.tar.gz https://aka.ms/downloadazcopy-v10-linux
      tar -xf $(Agent.ToolsDirectory)/azcopy/azcopy_v10.tar.gz -C $(Agent.ToolsDirectory)/azcopy --strip-components=1

使用 az-cli 任务通过 azcopy 下载

- task: AzureCLI@2
  displayName: Download using azcopy
  inputs:
    azureSubscription: 'Service-Connection'
    scriptType: 'bash'
    scriptLocation: 'inlineScript'
    inlineScript: |
      end=`date -u -d "180 minutes" '+%Y-%m-%dT%H:%M:00Z'`
      sas=$(az storage share generate-sas -n share-name --account-name account-name --https-only --permissions lr --expiry $end -o tsv)
      $(Agent.ToolsDirectory)/azcopy/azcopy copy "https://account-name.file.core.windows.net/share-name/folder/?$sas" "/Download-Path" --recursive --check-md5=FailIfDifferent
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Azure Pipelines - 使用 azcopy 下载文件 的相关文章

  • 我可以在我的 Azure 管道中使用 2 个代理池吗?

    我有一个自托管代理 它用作一种部署代理 我们软件的所有发行版本均由该代理构建 然后复制到网络位置 问题 有没有办法可以在管道中同时利用 azure pipelines Microsoft 托管池和我自己的自托管池中的代理 EDIT 不幸的是
  • TFSBuild 命令行 / vNext 2015

    前提 我认为这是 TFS 2015 中的错误 缺失功能 当我使用 TFS 网站创建新的构建 非 xaml 定义时 我无法使用命令行调用它TFSBuild start命令 如果我创建标准 XAML 定义 我可以使用命令行启动它 知道命令行是否
  • 使用 $(GitVersion.NuGetVersion) 标记源会创建带有变量名称而不是值的标签

    成功构建后 将标签格式配置为 GitVersion NuGetVersion 结果标签设置为 GitVersion NuGetVersion 不是该变量的实际扩展值 在构建输出日志记录中 有 2 个部分 计划 构建和完成构建 据推测 一旦构
  • 如何将环境变量添加到 Azure Devops 管道中

    我正在为 Node 应用程序设置 Azure 管道 并使用 Jest 来测试 API 和集成 源代码位于 Azure DevOps 上 代码部署在 Azure 门户中 当我运行测试时 它在管道中失败 因为 env 从未在远程存储库中检查 环
  • VSTS 构建 Nuget 打包器不起作用

    我正在尝试在构建后打包一个库以在我的 VSTS Packages feed 上发布 但任务 Nuget Packager 不起作用 我尝试了很多设置组合 但无法使其发挥作用 我尝试使用 Net Core 和 Net 4 6 2 打包该库 尝
  • 具有多个环境的 Azure 管道

    My 点网核心应用程序每个环境都有一个 appsettings json 应用程序设置 json and appsettings Development json例如 我想在我的管道中利用这一点 我看到管道有两个选项 Build Artif
  • Spring 的 Azure Pipeline Gradle 构建失败

    我尝试通过 Yaml 管道在 Azure 上构建和部署 Spring API 但我在 spring 应用程序 gradle 构建期间收到错误消息 Error home vsts work 1 s gradlew failed with re
  • 来自代码的队列 Azure DevOps YAML 管道不接受运行时参数

    YAML 管道如下所示 parameters name parameter1 type string steps task PowerShell 2 inputs targetType inline script Write your Po
  • Azure Pipelines - 使用 azcopy 下载文件

    我可以看到有一个任务将本地文件上传到Azure存储或VM 但是我们如何从 blob 或文件共享下载到管道代理中呢 目前我正在使用 azcopy 和 SAS URI Pipelines 中是否有一个任务可以使用服务连接来执行此操作 因此 由于
  • Azure DevOps 扩展中的节点密码警告 - 发布任务

    我正在开展一个开发 Azure DevOps 发布任务扩展的项目 最近 当发布任务运行时 我在日志中多次打印此警告消息 警告 使用 Cipheriv 作为 aes 256 ctr 的计数器模式 我没有更早得到它 当我开始收到此错误时 我只更
  • 通过传递不同的 VariableGroup 在多个时间安排 Azure DevOps 发布

    我可以使用下面的脚本安排多个时间的发布 timinglist 1 30 2 30 3 30 PATtoken PAT Write Host Initialize Autnetication COntext ForegroundColor D
  • 在 VSTS 托管代理上使用 PowerShellGet

    我在构建过程中使用 Visual Studio Team Services VSTS 托管的构建代理 我的构建主要依赖于 PowerShell 步骤 该步骤调用我在 git 中的脚本 在此脚本中 我想使用 PowerShellGet 管理
  • 如何解压或获取存储在 Azure DevOps Build Piplines 变量组中的嵌套变量的值?

    是否可以在 Powershell 脚本中的变量内使用 Azure Pipelines 变量 SCENARIO Azure Pipelines 变量组中设置了两个变量 DeploymentCredentials a DeployUATApiP
  • VSTS 构建已过期

    我创建了一个拉取请求 它触发构建并且构建成功 但一段时间后我的构建状态更改为 构建已过期 因此要完成拉取请求 我需要再次触发它 所以问题是 为什么会发生这种情况以及如何避免构建过期 构建过期 是分支机构政策的一个特点 设置构建到期时间 以确
  • 无法读取文件内容

    我正在尝试读取文件的内容 releaseNotesPath System DefaultWorkingDirectory ccp develop ccp ccp ReleaseNotes ReleaseNotes latestRelease
  • Azure DevOps/VSTS Build - 在 BUILD BUILDNUMBER 中找不到版本号数据

    设置一个简单的类库来构建并发布到 VSTS 自己的源时 我在 NuGet 包运行时看到此错误 在 BUILD BUILDNUMBER 中找不到版本号数据 我勾选了 使用版本号来版本包 选项 预计 VSTS 能够正常工作 使用内部版本号来版本
  • “目标计算机上的 PowerShell”任务失败,并在 TFS 2017\Azure Dev Ops 中出现错误

    我尝试使用 TFS 构建定义中的 目标计算机上的 PowerShell 任务来运行其中一台 Azure 服务器上存在的 PowerShell 脚本 但该任务失败并出现以下错误 System Management Automation Run
  • VSTS/Azure DevOps:包上自动增量 NuGet 包版本

    运行 NET Core Pack任务 如何让输出的NuGet包版本自动递增 例如 如果我当前的版本是1 0 0 那么下次我调用 Pack 任务时 我想看看1 0 1 我正在使用环境构建变量Build BuildNumber并在例如时刻获得输
  • 如何在 azure devops 中触发拉取请求的构建和测试?

    我的 git 存储库托管在 devops 内部 我希望在创建拉取请求时构建代码并运行测试 但是我不知道如何做到这一点 我读到了有关拉取请求触发器等的内容 但我不知道如何添加这些触发器 因为似乎没有选项来创建它们 一旦拉取请求完成并合并到主控
  • Azure DevOps / VSTS 失败的计划构建的电子邮件通知

    计划的构建已设置为每天在特定时间运行 例如下午 13 点 通过 Azure DevOps VSTS 但是 失败的计划构建不会发送电子邮件通知 当手动启动构建或由代码更改触发构建时 就会发生这种情况 如何在计划构建失败时启用电子邮件通知 创建

随机推荐