news 2026/11/4 16:06:53

如何快速在本地跑通 GitHub Actions?actrun 新手完整教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何快速在本地跑通 GitHub Actions?actrun 新手完整教程

【免费下载链接】actrun

GitHub Actions compatible local runner

项目地址:https://gitcode.com/gh_mirrors/ac/actrun
点击查看免费下载

还在为 GitHub Actions 的排队和慢启动烦恼吗?本文带你用actrun(一个用 MoonBit 编写的 GitHub Actions 兼容本地 runner)在几分钟内把工作流跑起来:本地运行、查看日志、跳过无关步骤,最后再谈优化。

为什么选择 actrun 本地运行?

把 CI 搬到本地,你能获得这些好处:

  • ⚡秒级反馈:不用等云端队列,local模式启动约 0.13 秒
  • 🐛快速调试:直接读run logs,甚至查看单条 step 日志
  • 🔄语义一致:保持与 GitHub Actions 相同的 YAML 与上下文,本地跑通后推上去基本不用改
  • 🗂️可选隔离:支持worktree、tmp、docker等工作区模式,不污染你的工作目录

性能基准(Apple Silicon):

模式启动耗时写 1k 文件
local~0.13s52ms
nix-packages~0.70s47ms
apple-container~0.93s14ms

第一步:安装 actrun

安装方式任选其一,推荐新手直接用npx,零安装:

# npx(无需安装) npx @mizchi/actrun workflow run .github/workflows/ci.yml # npm 全局安装 npm install -g @mizchi/actrun # Docker docker run --rm -v "$PWD":/workspace -w /workspace ghcr.io/mizchi/actrun workflow run .github/workflows/ci.yml

也可以从源码构建:

git clone https://gitcode.com/gh_mirrors/ac/actrun cd actrun moon build src/cmd/actrun --target native

5 分钟跑通你的第一个工作流

先用仓库自带的 01-hello.yml 体验一下:

name: hello 'on': push jobs: greet: runs-on: ubuntu-latest steps: - run: echo "Hello from actrun!"

运行它就一条命令:

actrun workflow run examples/01-hello.yml

接下来是新手最常用的几个动作:

# 不真正执行,先看执行计划(推荐先跑一次确认) actrun workflow run examples/01-hello.yml --dry-run # 列出项目里所有工作流 actrun workflow list # 查看历史运行与日志 actrun run list actrun run view run-1 actrun run logs run-1 --task greet

💡 小技巧:省略workflow run也可以,actrun .github/workflows/ci.yml是等价简写。

本地上下文自动填充

在普通 git 仓库里直接运行,actrun 会自动从本地仓库检测github.repository、github.ref_name、github.sha和github.actor,通常不需要任何额外配置。如果你需要固定这些值(比如演示、截图场景),可以在actrun.toml里写[local_context]覆盖,优先级规则见 local-context.md。

让本地更快:跳过与裁剪

先跑起来,再变快——下面这些开关就是"变快"的部分,全都无需改动工作流文件:

目标命令 / 配置说明
跳过本地不需要的 action--skip-action actions/checkout可重复使用,也可写入actrun.toml的local_skip_actions
只跑失败的部分actrun ci.yml --retry复跑时跳过已成功的 job
按文件变更跳过整个工作流actrun ci.yml --affected HEAD~3类似 nx / turborepo 的 affected 机制
只跑某个 job / stepactrun ci.yml --job build --step test定向调试
本地专属调试步骤条件if: ${{ env.ACTRUN_LOCAL }}actrun 会设置ACTRUN_LOCAL=true

ACTRUN_LOCAL是个非常实用的特性:本地执行时 actrun 会注入该环境变量,你可以在工作流里用它区分本地与云端。仓库里的 06-local-skip.yml 就是一个完整示例:本地跳过checkout和setup-node,云端照常执行。

# 组合拳:跳过 checkout + 只跑 build job + 失败重试 actrun ci.yml --skip-action actions/checkout --job build --retry

更多参数速查请见 cheatsheet.md,--affected的完整配置方式见 advanced-workflow.md。

常见工作流示例

仓库examples/目录提供了 30+ 个可直接运行的样例,覆盖新手关心的大部分场景:

场景示例文件
环境变量与 step 输出02-env-and-outputs.yml
Matrix 矩阵03-matrix.yml
Secrets 与条件分支05-secrets.yml、09-conditional.yml
Artifacts 与 Cache07-artifacts.yml、08-cache.yml
自定义 Action(composite / docker / node / wasm)11-custom-actions.yml
Nix 集成15-nix-flake.yml

Secrets 通过环境变量传入即可,无需配置文件,且会自动在日志中脱敏:

ACTRUN_SECRET_MY_TOKEN=xxx actrun workflow run .github/workflows/ci.yml

进阶工具:lint 与可视化

跑起来之后,还可以用 actrun 自带的分析命令提前发现问题:

# 类型检查表达式、检测未定义引用等(类似 actionlint) actrun lint .github/workflows/ci.yml # 画出 job 依赖图,直观理解执行顺序 actrun viz .github/workflows/ci.yml --mermaid

规则清单(如undefined-context、circular-needs、script-injection等 20 余条)详见 README.md。

总结:从跑通到变快

  1. 装:npx @mizchi/actrun或npm install -g @mizchi/actrun
  2. 跑:actrun workflow run .github/workflows/ci.yml
  3. 看:actrun run logs <run-id>
  4. 快:--skip-action/--retry/--affected按需裁剪

actrun 的核心理念是"先跑起来,再谈优化":本地语义与 GitHub Actions 对齐,跑通即验证;之后用actrun.toml固化你的本地配置,把工作流从分钟级反馈提升到秒级反馈。更多契约与边界说明可查阅 public-api.md。

【免费下载链接】actrun

GitHub Actions compatible local runner

项目地址:https://gitcode.com/gh_mirrors/ac/actrun
点击查看免费下载

相关推荐

上一篇:一台电脑四人开黑?免费开源 Nucleus Co-Op 分屏游戏上手指南
下一篇:Sunshine游戏串流服务器搭建全攻略:5步实现局域网低延迟畅玩PC游戏

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/4 15:50:16

Hermes Agent容器编排监控工具:Prometheus与Grafana配置

Hermes Agent容器编排监控工具&#xff1a;Prometheus与Grafana配置 Hermes Agent是一款功能强大的容器编排监控工具&#xff0c;能够帮助开发者和运维人员轻松实现对容器环境的全面监控。本文将详细介绍如何配置Prometheus与Grafana&#xff0c;以实现对Hermes Agent容器编排…

作者头像 李华
网站建设 2026/11/4 15:47:21

RevokeMsgPatcher:三步让微信PC端撤回失效

RevokeMsgPatcher&#xff1a;三步让微信PC端撤回失效 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁&#xff08;我已经看到了&#xff0c;撤回也没用了&#xff09; 项目地址: https://gitcode.com/GitHub_Tr…

作者头像 李华
网站建设 2026/11/4 15:47:09

Qwen3-Omni-Captioner:音频理解新范式,开启细粒度内容解析时代

Qwen3-Omni-Captioner&#xff1a;音频理解新范式&#xff0c;开启细粒度内容解析时代 【免费下载链接】Qwen3-Omni-30B-A3B-Captioner 项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen3-Omni-30B-A3B-Captioner 导语 阿里云推出Qwen3-Omni-30B-A3B-Captioner…

作者头像 李华
网站建设 2026/11/4 15:43:55

Hermes Agent性能监控仪表板设计:关键指标与可视化全指南

Hermes Agent性能监控仪表板设计&#xff1a;关键指标与可视化全指南 Hermes Agent作为一款强大的AI代理框架&#xff0c;其性能监控仪表板是保障系统稳定运行和优化用户体验的核心组件。本文将详细介绍如何设计一个全面的Hermes Agent性能监控仪表板&#xff0c;涵盖关键指标…

作者头像 李华
网站建设 2026/11/4 15:39:32

3步跑通微信公众号文章批量下载:6种导出格式完整指南

3步跑通微信公众号文章批量下载&#xff1a;6种导出格式完整指南 【免费下载链接】wechat-article-exporter 一款在线的 微信公众号文章批量下载 工具&#xff0c;支持导出阅读量与评论数据&#xff0c;无需搭建任何环境&#xff0c;可通过 在线网站 使用&#xff0c;支持 dock…

作者头像 李华
网站建设 2026/11/4 15:36:32

反侦测浏览器 Camoufox 从 0 到跑通:反爬检测的完整指南

反侦测浏览器 Camoufox 从 0 到跑通&#xff1a;反爬检测的完整指南 【免费下载链接】camoufox &#x1f98a; Anti-detect browser 项目地址: https://gitcode.com/gh_mirrors/ca/camoufox 凌晨两点&#xff0c;爬虫脚本跑了三天&#xff0c;第四天突然全线失效&#x…

作者头像 李华