代码之家  ›  专栏  ›  技术社区  ›  janpio WillBroadbent

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

  •  2
  • janpio WillBroadbent  · 技术社区  · 6 年前

    azure-pipeline.yml 看起来像这样:

    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个并行作业)。

    天青-管道.yml 在我的存储库中,似乎只有有时会出现一些并行性。我常常等上几分钟 要开始的作业。这是否可能是Azure管道方面的容量问题,即没有运行测试的代理可用?

    matrix “未启动/排队”。不应该 作业可以并行执行吗?


    这就引出了我真正的问题:
    有没有一种方法可以在Microsoft托管代理池上的Azure管道上实现作业的实际并行执行?

    1 回复  |  直到 6 年前
        1
  •  4
  •   janpio WillBroadbent    6 年前

    改变

      strategy:
        matrix:
          node_6_x:
            node_version: 6.x
          node_8_x:
            node_version: 8.x
          node_10_x:
            node_version: 10.x
    

      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 "restricts the amount of parallelism." ,似乎需要获得 matrix 所有的配置。

    Job in the YAML schema 但没什么用 最大平行 矩阵 parallel .)