首页 > 解决方案 > 将 Azure DevOps 管道中的阶段配置为手动而非自动

问题描述

我有一个 Azure DevOps 管道,它首先构建一个函数应用程序,然后通过几个不同的阶段对其进行部署。我的目标不是自动触发部署阶段。

使用发布时,我可以通过定义部署前检查来实现我的目标,这样部署到阶段就不会自动触发。由于没有选项可以在“阶段后手动”部署阶段,因此我必须将人工制品过滤器添加到相关阶段并将其设置为 exclude *

不幸的是,管道似乎不存在阶段触发器和伪影过滤器 -

我可以链接到部署阶段的环境确实包括批准和检查,但这些似乎非常有限并且没有实际用途。

我试图添加手动干预,但尽管任务可通过管道助手获得,但它不适用于管道,只能在发布时使用。

如何实现手动部署到管道阶段的目标?

这是我的管道示例。

stages:
- stage: Publish
  displayName: Publish Function App
  jobs:
  - ...
- stage: Dev
  displayName: Deploy Dev
  jobs:
  - ...
- stage: Staging
  displayName: Deploy Staging
  jobs:
  - ...
- stage: Production
  displayName: Deploy Production
  jobs:
  - ...

标签: triggersazure-devopsazure-pipelines

解决方案


如何实现手动部署到管道阶段的目标?

抱歉,但据我所知,yaml 管道的手动触发器目前不可用。此功能请求已提交到我们的用户语音论坛。您可以投票并在那里跟踪问题,以便在有任何更新时收到通知。

根据您的情况,您是否尝试过批准?如果我们在 中设置批准Environments,部署作业将停止并等待手动批准。在我们手动批准之前,不会真正开始部署到某个阶段,我认为这对您的方案也有帮助。这是一个你可以参考的博客。


推荐阅读