如果另一个失败,则停止正在进行的 GitHub 作业(失败时停止)

时间:2021-05-11 14:36:38

标签: github github-actions

TL; DR:并行运行作业 a、b。如果 a 失败,则停止 b 的执行,同时它仍在运行。

我的公司使用 GitHub Actions 来部署我们的代码。

我们部署的第一步是构建 docker 并将它们推送到 DockerHub。

我们为我们的代码编写了一个测试,我们希望与构建 docker 并行运行。

这两个都是独立的工作,根据前两个的成功,我们还有一些工作。

现在,如果测试作业失败,另一个作业会继续运行,但很明显,下一个作业不会运行,因为测试作业失败了。

如果测试失败,我想做的是在运行时取消 docker 构建作业。

这可能吗?在网上、StackOverflow 和 GitHub Actions 页面上搜索之后,我还没有找到一种方法来做到这一点。

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以指定 needs 选项并引用作业名称。请参阅:https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idneeds

一个例子可能是这样的:

jobs:
  build:
    ...
  deploy:
    needs: build
    ...