GitHub 操作手动审批流程

问题描述 投票:0回答:3

我知道 GitHub Action 手动触发是一个讨论非常多的问题,手动审批的讨论较少,但仍然存在于社区中。

我有一个问题想问那些使用 Github 操作进行 CD 目的的人。

如您所知,Bitbucket、Gitlab、Azure Devops 等都有一个功能手动批准,这意味着管道可以到达流程中的某个步骤,例如:构建 -> 测试 -> 部署到暂存。

下一步是部署到生产环境,但需要手动批准或触发。所以我的问题是,你们中是否有人使用相同的信息(分支名称、相同的测试结果)在 GitHub 操作中实现了该功能,而无需再次运行整个管道? (这就是为什么我还没有将我们从 Bitbucket 迁移到 GitHub 的原因)

谢谢您的回答

devops github-actions continuous-delivery
3个回答
13
投票

最近,GitHub 团队宣布了Environments 处于测试阶段。通过此功能,您可以将手动批准添加到 CI/CD 中。

环境工作流语法

但是,私有存储库存在限制 - 只有GitHub Enterprise服务计划可以在私有存储库中使用环境


3
投票

因此,在 GitHub 中,有两种方法可以手动批准部署。

  1. 使用环境
  2. 使用 GitHub 操作

0
投票

我想解决您的实际问题:您可以运行工作流程的一部分而不运行所有其他部分吗?

您也许可以使用

workflow_dispatch
input
来设计一些您想要从哪个阶段开始的东西。不过这个想法对我来说有点笨拙。

我认为更可靠的答案可能是将您的工作流程分为两部分:CI 工作流程和可重用 CD 工作流程。

在您需要的情况下,CI 工作流程可以在适当的时候调用 CD 工作流程。

通过单独的 CD 工作流程,如果您愿意,您还可以运行 CD 流程。

因此,您的 CD 工作流程将有一个

workflow_call
触发器,并由 CI 流程调用;它还会有一个
workflow_dispatch
触发器,可以手动启动。

我正计划为我与客户一起构建的管道执行此操作。如果我记得的话,我会回到这里分享任何现实世界的学习。

© www.soinside.com 2019 - 2024. All rights reserved.