概览
"全球思维,本地行动"
在本地运行你的GitHub Actions!为什么要这么做?有两个原因:
- 快速反馈 - 每次要测试对
.github/workflows/
文件的修改(或对嵌入式GitHub动作的任何更改)时,你不必提交/推送,而可以使用act
在本地运行这些动作。环境变量和文件系统都已配置,以匹配GitHub提供的环境。 - 本地任务运行器 - 我喜欢make。但是,我也讨厌重复自己。使用
act
,你可以用.github/workflows/
中定义的GitHub Actions来替代你的Makefile
!
它是如何工作的?
当你运行act
时,它会读取.github/workflows/
中的GitHub Actions,并确定需要运行的动作集。它使用Docker API来拉取或构建必要的镜像,这些镜像在你的工作流文件中定义,最后根据定义的依赖关系确定执行路径。一旦确定了执行路径,它就会使用Docker API为每个动作运行容器,这些容器基于先前准备的镜像。环境变量和文件系统都配置为与GitHub提供的一致。
让我们用一个示例仓库来看看它的实际运行情况!
Act用户指南
请查看act用户指南以获取更多文档。
支持
需要帮助?在Gitter上提问!
贡献
想为act做贡献?太棒了!查看贡献指南来参与。
手动从源代码构建
- 安装Go工具1.20+版本 - (https://golang.org/doc/install)
- 克隆这个仓库
git clone git@github.com:nektos/act.git
- 运行单元测试
make test
- 构建并安装:
make install