【问题标题】:Difference between Azure Devops Builds - Queue vs run pipeline REST APIsAzure Devops Build - 队列与运行管道 REST API 之间的区别
【发布时间】:2020-12-28 08:58:54
【问题描述】:

我确实看到了两个运行 Azure devops 管道的选项

  1. 运行管道->https://docs.microsoft.com/en-us/rest/api/azure/devops/pipelines/runs/run%20pipeline?view=azure-devops-rest-6.0
  2. 构建队列->https://docs.microsoft.com/en-us/rest/api/azure/devops/build/builds/queue?view=azure-devops-rest-6.1

我想了解这两种 API 的区别以及何时使用什么?

【问题讨论】:

    标签: azure-devops azure-pipelines azure-rest-api


    【解决方案1】:

    我想了解这两种 API 的区别。

    Azure Devops 提供Classic UI builds and Yaml build pipelines。这两个 API 都可以启动管道运行(无论是 Classic UI 构建管道还是 Yaml 构建管道)。这两个 API 最大的区别在于它们的Request Body

    1.你应该知道Yaml管道引入了一个重要的功能Runtime parameters。使用Run pipeline API时可以传递变量和参数,但使用Builds-Queue API时只能传递变量。

    api-version 6.0 之后的新 Run pipeline API 支持传递对 Yaml 管道很重要的参数/变量。但是旧的Queue-build不支持参数,它只支持变量(parameters here实际上是变量,它不是YAML的真正参数)。

    2.此外,我们可以为 CI 和 CD 使用普通的 yaml 管道。这是multi-stage Yaml pipeline。要运行这样的管道,强烈建议使用Run pipeline

    仔细查看Run pipeline的Request Body,你会发现Run pipeline与Yaml管道的关系更大。 StagesToSkip 元素和 yamlOverride 是 YAML 管道的独特功能。

    什么时候用什么?

    为 YAML 管道选择 Run pipeline,为经典 UI 构建管道选择 Builds-Queue没有必要(这两个 API 都可以启动 Classic Build 运行和 Yaml Build 运行)但它更推荐

    【讨论】:

    • “Yaml 管道引入了一个重要的函数运行时参数”introduced 有点虚伪,因为在队列时或在队列期间可设置的现有变量之间没有功能差异构建过程以及您所描述的运行时参数。我真的希望你们能尝试更多地关注你已经构建的很棒的东西,并为它们添加更多的功能,而不是所有这些“让我们为 tfsdevopscloudserver 构建第 4 个(也许是第 5 个)构建系统”更糟(yaml)或者只是名称不同,提供的功能不比 b4 多
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-14
    • 2021-12-12
    • 2021-10-30
    • 1970-01-01
    • 1970-01-01
    • 2011-01-29
    相关资源
    最近更新 更多