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

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

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

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

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

使用 REST API,我似乎能够使用管道端点创建所谓的管道;我确实注意到,如果我想运行它,我必须与其构建定义交互。

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

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

问题

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


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

最佳答案

如果您想创建管道,您可以使用这两者来完成此操作。然而,区别实际上在于概念上:

  • 构建定义是第一个可用流程的一部分,其中包括:构建和发布,其中构建负责构建、测试和发布工件,以便稍后在要部署的版本中使用
  • 管道是一种利用 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

关于api - Azure DevOps 构建定义和管道之间有什么区别和关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65882806/

相关文章:

tfs - 在 VSTS 'Newtonsoft.Json' 上打包 nuget 包已经有一个为 'NETStandard.Library' 定义的依赖项

用于获取维基百科数据的Javascript循环未终止

java - 使用 Java 中的 Rally Rest API 修改集合属性

git - Team Foundation Server 2013 Express - 无法通过命令行连接到 git repo

security - 导出 TFS 2008 (Team Foundation Server) 组和权限

azure - 如何在不更改缓存键的情况下删除 Azure Pipeline 缓存

javascript - XMLHTTPRequest 错误 : Synchronous XMLHttpRequest on the main thread is deprecated . ..(SoundCloud API)

angular - Ionic 框架使用文件 API 创建文件

tfs - TF10121 错误 Visual Studio 2013

android - 在 Azure DevOps 中共享版本信息