【问题标题】:GitLab pipelines equivalent for GitHub actionsGitLab 管道等效于 GitHub 操作
【发布时间】:2021-10-05 12:40:21
【问题描述】:

我在 GitLab 中有一个由多个阶段组成的管道。
每个阶段都有一些作业并产生工件,如果一个阶段的所有作业都通过,则这些工件将传递到下一个阶段。

类似于此屏幕截图的内容:

有没有办法在 GitHub 操作中实现类似的功能?

【问题讨论】:

标签: gitlab-ci github-actions


【解决方案1】:

一般来说,您可以在 GitHub 操作中非常接近您上面的内容。您将触发基于 pushpull_request 事件的工作流,以便在有人推送到您的存储库时触发它,然后您将定义每个作业。然后,您将使用 needs 语法来定义依赖项而不是阶段(这类似于 GitLab 中的 14.2 needs 语法),例如,您的 auto-deploy 作业将具有 needs: [test1, test2]

您将无法复制的一件事是手动等待推送到生产。 GitHub 操作无法在作业步骤暂停并等待手动操作。您通常可以通过运行基于 release 事件的工作流来解决此问题,或者通过使用给定变量集手动启动整个管道。

查看如何处理工件时,请查看另一个堆栈溢出问题的答案:Github actions share workspace/artifacts between jobs?

【讨论】:

    猜你喜欢
    • 2020-09-09
    • 2021-08-20
    • 2019-11-21
    • 2021-12-22
    • 2015-04-07
    • 1970-01-01
    • 2021-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多