【问题标题】:Multi-agent jobs over versions in yaml pipelineyaml管道中版本的多代理作业
【发布时间】:2022-07-20 22:21:36
【问题描述】:

所以,我有一个 yaml 管道,它有一个在 bash 中存储一组版本的数组,比如说 arrayVersions=(3.0.1 3.0.2 ....).

现在,我想在 yaml 管道中设置将每个版本拆分为一个 job 的管道,然后在多代理范例中运行它们。

上下文 - 我已经设置了遍历数​​组并运行的管道,但是,它非常慢,因为它是按顺序运行的。所以,我在 bash 中尝试了多线程并行编程,但没有成功。在理想的解决方案中,我正在考虑拆分所有版本并将它们作为新的job 在管道中运行。应该是这样的:

jobs:
    # get all the versions
    # split up each version into 1 single job and run the jobs in parallel
    job: 3.0.1
    ...
    job: 3.0.2
    ...

有什么办法可以设置吗?

【问题讨论】:

    标签: bash azure jobs azure-pipelines-yaml multi-agent


    【解决方案1】:

    您是否尝试过使用模板并从jobs 部分调用它?这是一个例子:

    # azure-pipelines.yml
    trigger:
    - none
    
    jobs:
    - job: Build
      steps:
      - template: build-specific-version.yml
        parameters:
          appVersion: 
          - '3.0.1'
          - '3.0.2'
          - '3.0.3'
    
    # build-specific-version.yml
    parameters:
    - name: 'appVersion'
      type: object
      default: 
      - '1.0'
      - '1.1'
    
    steps:
    - ${{ each v in parameters.appVersion }}:
      - script: echo ${{ v }}
    

    文档:Microsoft technical documentation|Template types & usage

    另见:Loops and arrays in Azure Devops Pipelines

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-26
      • 2020-09-15
      • 2021-01-09
      • 2020-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多