如何始终禁用/跳过Github动作的工作?(不是一步/动作)



我有以下工作流程:

name: CICD
# ...
jobs:
CI:
uses: ...
CD:
needs: [CI]
uses: ...

我遇到了一个问题,需要我暂时禁用使用其他工作流(不仅仅是单个步骤或操作)的CD作业。

我试过了:

最近似乎有关于"跳过工作流运行"的更新

通过在提交消息中包含一个命令,可以跳过由push和pull_request事件触发的工作流运行。

这听起来不方便,在底部他们提到:

您还可以禁用工作流的运行。有关详细信息,请参见"禁用和启用工作流"。

你可以使用GitHub UI、REST API或GitHub CLI禁用和重新启用工作流。然而,当工作流被用作可重用工作流时,这似乎不起作用。

我也可以简单地省略逻辑:

name: CICD
# ...
jobs:
CI:
uses: ...

但是我想以不同的方式保存版本控制历史(+让我的管道显式地声明作业被禁用/跳过)

有解决方法吗?

是的,您可以使用条件来控制作业的执行:

您可以使用jobs.<job_id>.if条件来阻止作业运行,除非满足某个条件。

因此,如果您将CD作业工作流更新为无限期否定条件:

name: CICD
# ...
jobs:
CI:
uses: ...
CD:
if: false
needs: [CI]
uses: ...

它将导致作业总是被跳过(即"禁用")。

最新更新