azure-devops - 使用可选阶段标记管道状态 'Completed'

标签 azure-devops azure-pipelines

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

我的需求很基本:

  • 一种。当 master 中的某些代码发生更改时, 管道触发器 (OK)
  • 湾随着这一变化,构建 部署到开发 阶段自动运行(OK)
  • C。 部署到测试 阶段等待我批准(OK)

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

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

    我的问题是:

    有什么办法可以标记部署到测试 阶段作为可选?管道应该在没有此阶段的情况下完成,但我可以选择手动执行此步骤。

    Azure DevOps - Multi Stage Pipelines Summary

    最佳答案

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

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

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

    此外,作为一种解决方法,您可以使用发布管道进行部署。您可以在发布页面中创建发布管道。然后你可以添加测试阶段并设置 Manual only触发它。这样流水线就可以不用这个阶段就完成了。

    enter image description here

    关于azure-devops - 使用可选阶段标记管道状态 'Completed',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58461841/

    相关文章:

    c# - Azure 管道失败并显示警告 MSB3246 : Resolved file has a bad image

    azure - 如何在 Azure Devops API 中获取 userId 字段

    azure-devops - Azure DevOps 任务作业之间的可变 secret issecret=true

    azure - 无法对嵌套资源执行请求的操作。找不到父资源 '****.io'

    Azure管道重新运行失败的任务(不是整个阶段)

    xml - 无发布管道中的 Azure XML 转换

    json - 从 json 文件导入 Azure Devops 管道变量

    通过 ARM 模板部署时,Azure 函数暂存槽交换错误

    continuous-integration - 从托管的 Team Foundation Service 下载构建 drop

    tfs - Azure cli Azure Devops 错误 : The user '' is not authorized to access this resource