我有 3 个步骤的 YAML 管道 构建 (1) , 部署到开发 (2) 和 部署到测试 (3) .
我的需求很基本:
master
中的某些代码发生更改时, 管道触发器 (OK) 但是如果我不批准 ,我就会面临一个问题。阶段(3) ,管道永远不会结束并始终显示进行中的图标。因此,每当我检查管道页面时,我都会看到所有管道都在运行,但实际上并未运行。
更糟糕的是,整个管道在两周后处于失败状态。
我的问题是:
有什么办法可以标记部署到测试 阶段作为可选?管道应该在没有此阶段的情况下完成,但我可以选择手动执行此步骤。
最佳答案
对于您的问题,我认为目前多阶段 yaml 不支持它。
如果你想在 yaml 中手动运行一个阶段,你只能通过创建 checks
为您 environments
.审核只有两个选项:Approve
或 Reject
.所以当你不想部署到这个阶段时,这个阶段会留在waiting
状态,并会自动拒绝,直到批准超时。一旦部署到阶段被拒绝,管道将显示为失败,即使之前的阶段已成功部署。
所以正如Shayki在评论中所说的,多阶段需要改进,应该给阶段一个更合理的手动触发。在这里,我在我们的 developercommunity 论坛中为您的问题创建了一个功能请求。可以投票和评论here以提高其优先级。
此外,作为一种解决方法,您可以使用发布管道进行部署。您可以在发布页面中创建发布管道。然后你可以添加测试阶段并设置 Manual only
触发它。这样流水线就可以不用这个阶段就完成了。
关于azure-devops - 使用可选阶段标记管道状态 'Completed',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58461841/