Azure DevOps 构建定义和管道之间有什么区别和关系?

时间:2021-01-25 10:19:03

标签: api tfs azure-devops continuous-integration azure-pipelines

我正在尝试使用 REST API 在 Azure DevOps 中自动化流程。我认为它应该是这样的(至少,这是当前的手动过程):

  • fork 仓库
  • 在新分叉的存储库中使用 YAML 文件创建基于管道的管道
  • 以特定方式运行管道

我是 Azure DevOps REST API 的新手,我很难理解我做了什么以及我应该做什么。

使用 REST API,我似乎能够使用管道端点创建我称之为管道的东西;我注意到如果我想运行它,我必须与其构建定义进行交互。

此外,查看其他同事编写的代码,似乎(尽管我可能错了)他们能够通过简单地创建构建定义而不显式创建管道来实现相同的目标。

这种缺乏理解让我发疯,所以我希望有人能启发我!

问题

构建定义和管道之间有什么区别和关系?


其他信息,我对使用较旧的发布管道不感兴趣,我试图在 Azure DevOps REST API 文档中找到答案,但无济于事。

1 个答案:

答案 0 :(得分:2)

如果你想创建一个管道,你可以同时使用这两种方法。但是,区别实际上是在概念上:

  • 构建定义是第一个可用流程的一部分,它包括:构建和发布,其中构建负责构建、测试和发布工件以供以后在发布中部署使用
  • 管道是一种新方法,它利用 YAML 设计的流程来构建/测试/部署代码

您可以找到更多信息here - Whats the difference between a build pipeline and a release pipeline in Azure DevOps?

例如对于这个管道/构建

https://dev.azure.com/thecodemanual/DevOps%20Manual/_build?definitionId=157

其中定义 id 为 157

您将在两个端点获得回复:

https://dev.azure.com/{{organization}}/{{project}}/_apis/build/definitions/157?api-version=5.1

https://dev.azure.com/{{organization}}/{{project}}/_apis/pipelines/157?api-version=6.0-preview.1

在那个术语中管道 id = 构建 id

相关问题