📲使用 TMate 调试 Github Actions
00 分钟
2024-12-11
2025-1-23
type
status
date
slug
summary
tags
category
icon
password

Action-TMate 介绍

Github Actions 调试起来比较麻烦,要改了脚本重跑看结果,效率很低,Github 上有个 Action 插件可以很方便地帮助调试 Github Actions:
 
他的原理也比较简单,就是在 Actions 执行过程中自动在构建机上配置终端共享工具 tmate,这样我们就可以在本地的电脑直接使用 ssh 连接上构建机,之后想使用什么命令都可以,查问题就不用靠猜了。
 
设置起来还是比较简单的,直接在你的 Actions 脚本的 Steps 中添加一段即可:
 
执行脚本之后它会阻塞式地等待用户连接,我们在日志找找这样一行:
直接在本地主机上敲上面那个 ssh 命令即可连接。
 
另外如果你不需要 Actions 阻塞式地让他去等待连接,而是创建 tmate 环境之后接着跑下去,可以在脚本里再加一行:
但是要注意的是在 Actions 跑完之后 tmate 环境自动时候,此时你就无法连接了。

配置手动执行

在我自己的项目 Explosion 中,我通常是在正常脚本跑失败后会手动开启这个功能来调试,所以我们可以在 Actions 上配一个手动触发,并且添加一个开关:
这样我们在网页端 Actions 上就可以直接找到手动执行的开关,也就不需要依赖 Pull Request 或者 Commit 来触发了:
notion image
具体用例可以参考 Explosion 项目的脚本,里面已经集成了 action-tmate 插件:
 
上一篇
利用 C++ Concepts 做编译期检查
下一篇
UE 角色移动笔记

评论
Loading...