Act(7.1万星)2026:推送前在本地跑GitHub Actions——完整工作流测试指南
Act(71,347星)用Docker在本地运行你的GitHub Actions工作流,推送前就能测试CI。本文教你配置并加速调试工作流。
💡 你将学到
Act(71,347星)用Docker在本地运行你的GitHub Actions工作流,推送前就能测试CI。本文教你配置并加速调试工作流。
直接给结论
nektos/act(71,347星,Go)在本地运行GitHub Actions。它在模仿GitHub托管runner环境的Docker容器里执行你的工作流文件,让你不用等推送、不烧Actions分钟数就能测试、调试和迭代CI。
为什么开发者喜欢它
- 即时反馈:几秒测试一个工作流,不用等几分钟
- 零成本:本地运行不消耗Actions分钟数
- 真实环境:容器与runner镜像高度一致
- 密钥安全:密钥留在本地,不进GitHub日志
安装与运行
# macOS
brew install act
# Windows (choco) / Linux (curl)
curl -s https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash
# 运行默认工作流(push事件)
act
# 模拟pull request
act pull_request
# 运行指定job
act -j build
# 干跑——看看会执行什么
act -n
本地配置密钥
在仓库根目录建 .secrets(加入git忽略):
GITHUB_TOKEN=ghp_xxx
MY_API_KEY=sk-xxx
然后运行 act --secret-file .secrets。本地环境变量用 --env-file .env。
实用技巧
- 运行前用
act -l列出所有job。 - 固定容器镜像与runner一致(必要时加
--container-architecture linux/amd64)。 - 服务依赖(Postgres、Redis)用
--service或在工作流services里定义。 .secrets千万别提交——加进.gitignore。
FAQ
支持所有GitHub Actions特性吗? 大部分支持——矩阵构建、缓存、复合action都能用;少数平台特定行为有差异。
需要Docker吗? 需要——act在Docker容器里运行job。
免费吗? 是——开源(MIT)。
相关文章
2026-06-29
高收益主线龙头策略——不花钱的数据,也能抓到龙头
2026-06-29
你笔记本里,藏着一个AI
2026-07-14
免费AI编程助手 2026 配置指南:VS Code 5分钟装 Continue、Copilot、Windsurf
