Repolode
nektos

nektos/act

一个命令行工具,用 Docker 在本地运行 GitHub Actions 工作流,无需反复提交推送即可测试改动。

Star
72,437
Fork
2,069
未关闭 Issue
398
最近提交
2个月前

这是什么?

act 读取 .github/workflows/ 下的工作流文件,借助 Docker 在本机执行其中的任务。它会拉取或构建每个工作流所需的镜像,根据任务之间的依赖关系确定执行顺序,并为每个步骤启动容器。环境变量和文件系统布局会尽量与 GitHub 托管的运行环境保持一致。

它适合两类场景:一是修改工作流时不必反复提交、推送来验证;二是把已有的工作流定义当作任务运行器使用,替代 Makefile。项目使用 Go 编写,采用 MIT 许可证。

核心功能

  • 01借助 Docker 容器在本地运行 GitHub Actions 工作流。
  • 02根据任务依赖关系确定执行顺序。
  • 03配置环境变量和文件路径,尽量与 GitHub 运行器一致。
  • 04可将现有工作流文件用作本地任务运行器。
  • 05提供 VS Code 扩展,可在编辑器内运行工作流。

适用场景

  • 在推送前验证 .github/workflows/ 文件的修改。
  • 不等待远程运行器,直接在本地调试失败的 CI 任务。
  • 用已有的工作流定义替代 Makefile 来执行本地任务。

快速上手

  1. 1

    安装并确保 Docker 正在运行

  2. 2

    克隆仓库并使用 make install 从源码构建(需要 Go 1.20+)

    make install
  3. 3

    在包含 .github/workflows/ 的仓库中本地运行工作流

    act

使用前须知

  • 需要安装并运行 Docker。
  • 工作流在容器中运行,因此可能无法完全匹配 GitHub 托管运行器的环境。

标签

常见问题

act 是什么?
一个命令行工具,用 Docker 在本地运行 GitHub Actions 工作流,无需反复提交推送即可测试改动。 act 读取 .github/workflows/ 下的工作流文件,借助 Docker 在本机执行其中的任务。它会拉取或构建每个工作流所需的镜像,根据任务之间的依赖关系确定执行顺序,并为每个步骤启动容器。环境变量和文件系统布局会尽量与 GitHub 托管的运行环境保持一致。
act 可以免费使用吗?用的什么许可证?
act 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
act 还在维护吗?
半年内有更新。act 最近一次提交是在 2026年8月9日。
act 适合用来做什么?
在推送前验证 .github/workflows/ 文件的修改。 不等待远程运行器,直接在本地调试失败的 CI 任务。 用已有的工作流定义替代 Makefile 来执行本地任务。
act 怎么安装和运行?
安装并确保 Docker 正在运行 克隆仓库并使用 make install 从源码构建(需要 Go 1.20+): make install 在包含 .github/workflows/ 的仓库中本地运行工作流: act
在哪里获取 act?
源代码和安装说明在 GitHub 上:https://github.com/nektos/act

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目