💡
原文中文,约3300字,阅读约需8分钟。
📝
内容提要
GitHub Actions 通过 tmate 提供免费虚拟服务器的 SSH 连接。用户需创建仓库并设置 NGROK_TOKEN 和 SSH_PASSWORD。连接后可进行操作,但会因超时失去控制,服务器最长存活6小时,需重新运行以获取新连接信息。
🎯
关键要点
- GitHub Actions 通过 tmate 提供免费虚拟服务器的 SSH 连接。
- 用户需创建仓库并设置 NGROK_TOKEN 和 SSH_PASSWORD。
- 连接后可进行操作,但会因超时失去控制。
- 服务器最长存活6小时,需重新运行以获取新连接信息。
- tmate 连接的第一个实现存在资源浪费的问题。
- csexton/debugger-action 允许在退出连接后继续执行后续步骤。
- 使用 ngrok 进行内网穿透,需注册并获取 Authtoken。
- 创建项目时需添加 NGROK_TOKEN 和 SSH_PASSWORD 的仓库 secrets。
- ssh-server.sh 脚本用于设置 SSH 服务器和 ngrok。
- workflow 文件 ssh-server.yml 用于启动 SSH 服务器,最长存活6小时。
- ActionsVM 提供了另一种创建虚拟服务器的方法,需设置相同的 secrets。
- 重新运行 jobs 时,SSH 信息会改变。
❓
延伸问答
如何使用 GitHub Actions 连接到虚拟服务器?
用户需要创建一个仓库,并设置 NGROK_TOKEN 和 SSH_PASSWORD,然后使用 tmate 进行 SSH 连接。
tmate 在 GitHub Actions 中的作用是什么?
tmate 允许用户通过 SSH 连接到 GitHub Actions 的虚拟环境,提供交互式操作的能力。
GitHub Actions 中 SSH 连接的最大存活时间是多少?
SSH 连接的最大存活时间为6小时,超过时间后需要重新运行以获取新连接信息。
如何避免在使用 tmate 时造成资源浪费?
可以使用 csexton/debugger-action,它允许在退出连接后继续执行后续步骤,从而减少资源浪费。
如何设置 ngrok 进行内网穿透?
用户需注册 ngrok,获取 Authtoken,并在 GitHub 仓库中添加 NGROK_TOKEN 和 SSH_PASSWORD 的 secrets。
在 GitHub Actions 中,如何创建 SSH 服务器?
需要创建一个 ssh-server.sh 脚本和一个 ssh-server.yml 的 workflow 文件,配置相应的环境变量和步骤。
🏷️
标签
➡️