Agent Skills
返回列表
💻

act 本地 GitHub Actions 运行器

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/act-local-github-actions-runner 技能。

技能介绍

问题:在本地验证 GitHub Actions 的痛点

当你在 github/workflows/ci.yml 里改了一个步骤,却要经历这样的循环:commit → push → 等待 GitHub Actions 运行 → 查看日志 → 发现语法错误 → 再改。这个过程既低效又打断开发节奏,尤其当只是想快速验证某个脚本或依赖版本时。

技能如何工作:基于 Docker 的本地执行引擎

act 的核心能力是复用 GitHub Actions 的运行时环境,将工作流中的 run 步骤直接映射到本地 Docker 容器中执行。关键步骤包括:

  • 事件驱动执行:识别 on 触发的事件(如 push、pull_request),自动选择对应的容器镜像
  • 步骤容器化:每个 run 步骤都在独立的容器中运行,确保与 CI 环境一致的依赖隔离
  • 实时输出映射:容器内的 stdout/stderr 直接映射到终端,无需等待云端反馈
  • 服务联动:支持 services 配置,可启动 MySQL、Redis 等容器作为测试环境

你可以用 act -j lint 指定仅运行 lint 作业,或通过 act -e push 模拟特定事件。所有操作在本地完成,不产生任何远程推送。

适用边界与注意事项

act 依赖本地 Docker Engine API,这意味着你需要预先安装 Docker Desktop(macOS)或 Docker Engine(Linux)。对于依赖真实云端 API 的步骤(如部署到 AWS),act 无法替代真实 CI,但可以通过 secrets 和 env 配置模拟本地测试环境。此外,部分自定义 runner 的复杂工作流可能需要额外适配。

使用场景

  • 修改 CI 工作流后,用 `act` 在本地运行完整流程,验证各步骤在容器中的行为是否符合预期。
  • 调试 GitHub Actions 中的 shell 脚本时,通过 `act -j` 定向运行特定作业,快速定位错误。
  • 新增工作流步骤后,使用 `act -e pull_request` 模拟 PR 触发,检查容器内依赖安装是否成功。
  • 编写 CI 配置时,用 `act` 在本地容器中反复测试,避免每次修改都推送到 GitHub 等待远程反馈。

适合人员

  • 后端工程师:需要频繁验证 CI 工作流中的构建和测试步骤,减少对云端 CI 的等待时间。
  • DevOps 工程师:负责维护 CI 配置,需要在本地快速调试复杂的工作流逻辑和容器依赖。
  • 开源项目维护者:修改工作流后想立即验证效果,避免因语法错误导致的重复推送和协作者通知。