azure devops 管道 CopyFiles@2 任务从代理 A 复制文件,但 DownloadBuildArtifacts@0 将文件下载到代理 B

标签 azure tfs azure-devops azure-devops-pipelines

我对来自托管代理的复制文件进行了有线行为,然后将它们下载回同一代理 看起来它从代理 A 复制文件,但相同的管道将它们下载回代理 B with 在另一台机器上执行另一个不相关的构建作业

从ios_docker_142_linux_slave_1上传 enter image description here

下载回不同的代理ios_docker_141_linux_slave_3,为什么? enter image description here

 - task: CopyFiles@2
    inputs:
      CleanTargetFolder: 'true'
      SourceFolder: '$(Agent.HomeDirectory)/../${{parameters.Folderpath}}'
      Contents: '**'
      TargetFolder: '$(build.artifactstagingdirectory)'

最佳答案

如果您使用并行作业,这是预期的行为。根据您的屏幕截图,有多个作业自托管 connect 、 mac_agent 、 copy_back_files_to_self ..

一名代理一次负责一项工作。如果代理正在运行一个作业,它将处于繁忙状态,其他作业将寻找空闲的代理来运行。并行作业用于同时在多个代理中运行多个作业。

要实现您想要的效果,您需要在 YAML 文件中指定详细代理。池名称需要添加到name字段,然后您可以添加 demands 。您可以尝试以下 YAML 代码:

stages:

- stage: Deploy

  pool: 

   name: AgentPoolName(e.g. alm-aws-pool)

   demands:

    - agent.name -equals Agentname (e.g. deploy-05-agent1)

  jobs:

  - job: BuildJob

    steps:

    - script: echo Building!

关于azure devops 管道 CopyFiles@2 任务从代理 A 复制文件,但 DownloadBuildArtifacts@0 将文件下载到代理 B,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64476518/

相关文章:

azure - 如何将 CosmosClient.CreateAndInitializeAsync() 与 CosmosClientBuilder.Build() 结合使用

c# - 让 Team Foundation Server 2015 进行代码覆盖的选项

visual-studio - TFS 工作项帮助文本显示在哪里?

azure - 如何在Azure搜索过滤器中使用保留字?

sql - Azure 流分析 - 计算线性回归

tfs - 将测试用例连同参数和附件从 TFS 迁移到 VSTS

python - 在 VSTS 中构建 Django 应用程序的定义

azure-devops - 从项目中获取所有工作项 azure devops REST API

asp.net-mvc - 将 WebAPI 和 MVC 项目发布到同一个 Azure 网站?

TFS:如何在重命名后找出旧文件名