GitHub 操作和工作流程之间有什么区别?

2025-06-05

GitHub 操作和工作流程之间有什么区别?

GitHub Actions 黑客马拉松刚刚落下帷幕。恭喜所有提交 Action 的朋友们。在黑客马拉松期间,我们注意到Actions 帮助主题中有一些关于 Actions 与工作流程的区别的问题。我们想通过一篇博文来澄清一下 Actions 与工作流程的区别。

GitHub Actions

关于操作与工作流程的混淆,其中一点是整个平台被称为“GitHub Actions”。该平台允许用户自动化构建、测试和部署流程。因此,它不仅仅是CI /CD,而是一个完整的自动化平台。您可以设置许多操作来执行多项操作。

GitHub Actions 平台(或产品)由多个组件组成,包括:

  • 活动
  • 工作流程
  • 工作
  • 行动
  • 跑步者

这就是令人困惑的地方。你会注意到这个平台叫做 GitHub Actions,但 GitHub Actions 的一个组件也叫做 actions。让我们来逐一了解一下上面的每个组件。

活动

事件是指在 GitHub 仓库中发生的事件。事件包括创建拉取请求、提交问题或进行提交等。请参阅GitHub 文档 上的完整事件列表

工作流程

工作流是指在特定“事物”(即事件)发生后发生的“事物”(或所有事物)。工作流可以在事件发生后触发。工作流也可以手动运行,或设置为在特定时间运行。工作流以 *.yml 文件的形式创建。手动运行的工作流和定时工作流仍归类为“事件”。

接下来发生的事情是用户定义的一系列步骤。工作流程可以是任何内容,例如在发布版本时发送推文,在发布版本时部署应用程序,甚至在打开问题后添加标签。

工作

作业是工作流中一系列要执行的步骤。每个步骤要么是要执行的脚本,要么是要运行的操作。步骤按其编写顺序执行,并且依赖于前一个步骤的完成。作业可以并行运行,但步骤需要单独运行。

行动

操作是工作流程中发生的“事情”之一。操作用于执行需要重复的复杂任务。因此,通过使用操作,您可以减少编写工作流程文件所需的时间和重复代码。例如,操作可以拉取您的 git 仓库或拉取您的贡献。您可以编写我们自己的操作,也可以使用GitHub Marketplace中的操作。

跑步者

运行器是服务器上的进程,一旦触发工作流,它就会运行该工作流。每个运行器一次只能运行一个作业,而该作业是如上所述的一系列步骤的集合。托管运行器位于云端,用户可以指定他们想要使用的运行器类型。如果您想完全自定义环境,也可以使用自托管运行器。

他们如何合作

GitHub Actions 整合了上述所有组件。工作流程是事件发生后发生的整个过程。操作是每个作业中发生的单独事件:

操作概述

GitHub Actions 真正赋予您自动化任何您喜欢的操作的能力。GitHub Marketplace 上有数千个操作可供您查看,而且我们刚刚发布了可重复使用的工作流程。您可以查看 GitHub 文档,了解更多关于 GitHub Actions 的信息。

文章来源:https://dev.to/github/whats-the-difference- Between-a-github-action-and-a-workflow-2gba
PREV
使用 NextJS 和 Tailwind 构建课程登录页面 TL;DR
NEXT
GitHub Web 编辑器:浏览器中的免费 VSCode