You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Azure DevOps NuGet为现有管道运行未执行的后续阶段

问题背景与需求

这是《如何通过Azure DevOps NuGet排队生成并仅运行特定阶段?》问题的后续,此前已完成《如何通过Azure DevOps NuGet运行管道并同时指定资源?》的实现。

最初需求是仅运行管道中的部分阶段,目前已实现该功能,现在希望在现有运行中追加运行原运行未包含的其他阶段。

当前遇到的问题

在Microsoft.Azure.Pipelines.WebApi.PipelinesHttpClient类型中找不到合适的方法来实现追加阶段的需求。

经典发布管道的实现方式

此前使用“经典”发布管道时,可轻松实现该需求,步骤如下:

  • 使用Microsoft.VisualStudio.Services.ReleaseManagement.WebApi.Clients.ReleaseHttpClient的CreateReleaseAsync方法创建发布
  • 通过上述客户端的UpdateReleaseEnvironmentAsync方法逐个部署到阶段,该方法接受发布ID作为输入

这种方式的优势在于可随时间执行分阶段部署,并能在仪表板上清晰查看特定发布版本的部署状态。

尝试的解决方案与不足

希望复用现有管道“运行”,因此查看了PipelinesHttpClient类型中可基于现有运行、修改阶段集启动新运行的方法,但看起来只能启动全新的管道运行——因为它仅接受管道标识符作为输入(还包括版本和任何资源)。虽然这种方式可行,但会导致状态仪表板杂乱,每个运行仅包含其特定的阶段集:

同一生成版本在不同管道运行中的阶段状态

希望所有阶段状态能像经典发布管道那样,随时间追加显示在同一行中。

另外,调用pipelinesClient.GetRunAsync获取的Microsoft.Azure.Pipelines.WebApi.Run实例也无用,因为它仅包含属性,没有方法。


内容的提问来源于stack exchange,提问作者Morten Grøtan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 11:42:44