使用可选阶段标记管道状态“已完成”

Mus*_* S. 6 azure-devops azure-pipelines

我有 3 个步骤 YAML 管道构建 (1)部署到开发 (2)部署到测试 (3)

我的需求非常基本:

  • 一种。当某些代码更改时master,管道会触发(OK
  • 湾 通过此更改,构建部署到开发阶段会自动运行(OK
  • C。部署到测试阶段等待我批准(确定

但是如果我不批准Stage (3),我就会面临一个问题,管道永远不会结束并且总是显示一个进行中的图标。因此,每当我检查管道页面时,我都会看到所有管道都在运行,但实际上并未运行。

更糟糕的是,整个管道在两周后处于失败状态。

我的问题是:

有没有办法将Deploy to Test阶段标记为可选?管道应该在没有此阶段的情况下完成,但我可以选择手动执行此步骤。


Azure DevOps - 多阶段管道摘要

Hug*_*Lin 5

对于您的问题,我认为目前多阶段 yaml 不支持它。

如果您想在 yaml 中手动运行阶段,则只能通过checks为您的environments. 审核只有两个选项:ApproveReject。所以当你不想部署到这个阶段的时候,这个阶段就会保持这个waiting状态,并且会自动拒绝,直到审批超时。一旦部署到阶段被拒绝,管道将显示为失败,即使之前的阶段已成功部署。

所以正如Shayki在评论中所说,多阶段需要改进,应该给阶段一个更合理的手动触发。我在我们的开发者社区论坛中针对您的问题创建了一个功能请求。您可以在这里投票和评论以提高其优先级。

此外,作为解决方法,您可以使用发布管道进行部署。您可以在发布页面中创建发布管道。然后您可以添加测试阶段并Manual only为其设置触发器。这样管道就可以在没有这个阶段的情况下完成。

在此输入图像描述