首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Microsoft托管代理池上的Azure管道上实现作业的实际并行执行?

如何在Microsoft托管代理池上的Azure管道上实现作业的实际并行执行?
EN

Stack Overflow用户
提问于 2018-09-17 13:46:16
回答 1查看 1.7K关注 0票数 5

我有一个非常简单但缓慢(~15分钟)的节点测试,我想在Ubuntu和Linux上运行,并通过Azure DevOps上的Azure管道对每个节点6、8和10 --所以总共是6个“作业”进行测试。

我的azure-pipeline.yml看起来是这样的:

代码语言:javascript
复制
jobs:
- job: Ubuntu
  pool:
    vmImage: 'Ubuntu 16.04'
  strategy:
    matrix:
      node_6_x:
        node_version: 6.x
      node_8_x:
        node_version: 8.x
      node_10_x:
        node_version: 10.x
  steps:
  - task: NodeTool@0
    inputs:
      version: $(node_version)
    displayName: 'Install Node.js $(node_version)'  
  - script: |
      npm install
    displayName: 'npm install'
  - script: |
      npm run test
    displayName: 'npm test'
- job: Windows
  pool:
    vmImage: 'vs2017-win2016'
  strategy:
    matrix:
      node_6_x:
        node_version: 6.x
      node_8_x:
        node_version: 8.x
      node_10_x:
        node_version: 10.x
  steps:
  - task: NodeTool@0
    inputs:
      version: $(node_version)
    displayName: 'Install Node.js $(node_version)'  
  - script: |
      npm install
    displayName: 'npm install'
  - script: |
      npm test
    displayName: 'npm test'

由于这是一个GitHub上的开放源码存储库,我预计这6个测试运行将并行进行(因为应该有10个并行作业)。

观察拉请求的管道运行--将azure-pipeline.yml添加到我的存储库中--似乎只是有时似乎存在一些并行性。我常常要等几分钟才能开始工作。这可能是Azure管道方面的一个容量问题,因为没有运行测试的代理?

当某些东西启动时,通常每个操作系统只有一个作业,而matrix中的其他作业“没有启动/排队”。matrix作业不应该并行执行吗?

这就引出了我真正的问题:

是否有办法在Microsoft托管代理池上的Azure管道上实现作业的实际并行执行?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-17 17:29:11

改变

代码语言:javascript
复制
  strategy:
    matrix:
      node_6_x:
        node_version: 6.x
      node_8_x:
        node_version: 8.x
      node_10_x:
        node_version: 10.x

代码语言:javascript
复制
  strategy:
    maxParallel: 3
    matrix:
      node_6_x:
        node_version: 6.x
      node_8_x:
        node_version: 8.x
      node_10_x:
        node_version: 10.x

(注意附加的maxParallel: 3)似乎已经完成了任务:一旦提交到PR分支,构建就一起启动了。

虽然maxParallel目前只被记录为“限制并行性的数量”,但它似乎完全需要获得matrix配置的并行性。

( YAML架构中的作业的文档没有帮助,因为它显示了maxParallel作为matrixparallel的替代方案。)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52369252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档