nektos avatar

nektos/act

71.0k 2.0k 195
Go MIT
创建于 7 年前 最后更新 1 周前 +19 stars today

AI 综合评分

72 B 级
代码质量
66
文档质量
75
社区健康
69
项目活跃
78
创新性
63

项目简介

在本地运行 GitHub Actions 工作流,无需推送到远程仓库即可调试和测试 CI/CD 流程。

项目摘要

nektos/act 深度摘要

【主题】

让开发者在本地机器上直接运行 GitHub Actions 工作流,解决远程 CI/CD 调试缓慢、反馈周期长的痛点。


【核心分点总结】

  1. 本地执行 — 通过 Docker 容器模拟 GitHub 运行环境,在本地重现完整的 Actions 工作流执行过程,无需反复推代码到远程仓库触发 CI。

  2. 快速迭代 — 将原本需要等待数分钟甚至更久的 CI 反馈循环缩短到几秒钟,让调试 workflow 配置如同运行本地脚本一样即时。

  3. 事件模拟 — 支持模拟 pushpull_request 等多种 GitHub 事件,可以精确控制触发条件,测试不同场景下的工作流行为。

  4. 轻量易用 — 基于 Go 语言编写,单个二进制文件安装即用,命令行接口简洁直观,上手成本极低。

  5. 兼容性强 — 官方支持 Linux、macOS 和 Windows(WSL),覆盖主流开发环境,支持直接读取项目中的 .github/workflows 配置。


【行动指南】

  1. 日常 workflow 开发时 — 每次修改 .github/workflows 配置文件后,先用 act 在本地验证,确认无误再推送到远程,告别 "push and pray" 的开发模式。

  2. 调试失败的 CI 任务时 — 当 GitHub Actions 上出现难以复现的失败,用 act -v 开启详细日志在本地重现问题,比在线上盲目排查高效得多。

  3. 快速上手 — 安装只需一行命令(brew install actcurl 脚本),进入项目目录执行 act 即可自动检测并运行默认工作流,零配置启动。


【金句总述】

停止盲目推送,本地验证,所见即所得。


【故事性收尾】

想象一下:你刚写完一段复杂的 CI pipeline,要在多个矩阵环境下跑测试、打包、部署。以前,你得小心翼翼地 commit,push,然后在 GitHub 页面上刷新、等待、祈祷——失败了?改一行再重复整个循环。现在,你敲下 act,终端里 Docker 容器依次启动,job 日志实时滚动,三十秒后你已经修好了三个问题。窗外的咖啡还是热的,而你的 CI 早已绿了。

相关项目推荐