【问题标题】:Azure devops Rest API invoke releaseAzure devops Rest API 调用版本
【发布时间】:2020-11-26 12:39:26
【问题描述】:

目前我正在使用来自 CI 的 Azure DevOps Rest API 调用来调用发布定义中的发布。在此过程中,我一个接一个地调用发布。所有版本同时开始。目前,我在每个版本开始时都添加了手动干预。所以当第一个版本完成时,我会去恢复第二个版本,并在完成恢复第三个版本时。但是我想删除这种手动干预,并且只有在完成以前的版本后才能开始发布。例如,如果我要触发三个版本

Release1,
Release2,
Release3

当 Release1 正在运行时,Release2 和 Release3 都应该等待。完成 Release1 后,Release2 应该在没有人工干预的情况下启动,Release3 应该仍然等待。完成 Release2 后,无需人工干预即可启动 Release3。

【问题讨论】:

  • 只是检查提供的信息是否有用。
  • 不,我尝试了不同的方法。我使用Rest API在Release1之后调用Release2,在Release2之后调用Release3
  • 嗨帕特里克,我做到了
  • 我会推荐您采用的方法,在每个版本结束时有 1 次呼叫 2 和 2 次呼叫 3。如果您熟悉 PowerShell,请查看 AzurePipelinesPS 模块以使用 PowerShell 进行这些 api 调用。 powershellgallery.com/packages/AzurePipelinesPS

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


【解决方案1】:

正如我所指定的,我使用 Azure Devops Rest API 来调用多个依赖版本。但我是从 CI 流程本身一个接一个地调用所有版本。因此,我对以下版本进行了手动干预。但是现在我更新了我的流程,在完成父版本之后调用依赖版本。因此,我再次利用了 REST API 功能。此外,所有版本的变量集合都是相同的。所以我通过 REST API 设置发布变量,并使用相同的变量来设置连续发布的变量。所以Release2在调用Release1之后调用,Release3在使用REST API调用Release2之后调用。

【讨论】:

  • 请使用您问题上的编辑链接添加其他信息。 Post Answer 按钮应仅用于问题的完整答案。 - From Review
  • 你是什么意思?这是帕特里克要求我回答的问题。
  • 感谢您的友好分享。自己修复总是更好;如您所知,它是如何工作的!:) 已投票。你也可以mark your reply as an answer
【解决方案2】:

当 Release1 正在运行时,Release2 和 Release3 都应该等待。在 完成Release1,Release2应该不用手动启动 干预和 Release3 仍应等待。完成 Release2 后, 无需人工干预即可启动 Release3。

这只会在您尝试在同一个代理中创建 3 个版本时发生。如果有不同的代理,应该有并行运行。

因为您使用的是单个发布管道。不知道为什么要在前一个版本的所有阶段完成后执行后一个版本。

在发布中,各个阶段是相互独立的。

你也可以看看这个类似的问题。 How to configure an Azure DevOps release to complete all its stages before starting a new one

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-10
    • 1970-01-01
    • 2020-06-12
    • 2019-10-15
    • 1970-01-01
    • 2020-11-29
    • 2022-07-17
    • 1970-01-01
    相关资源
    最近更新 更多