前言
- Github Actions 是 GitHub 推出的持续集成 (Continuous integration,简称 CI) 服务
- 它提供了整套虚拟服务器环境,基于它可以进行构建、测试、打包、部署项目,如果你的项目是开源项目,可以不限时使用
- 服务器硬件规格:
- 2/3/4-core CPU
- 7/14 GB RAM 内存
- 14 GB SSD 硬盘空间
- 可使用的系统:
- Windows Server 2019/2022/latest
- Ubuntu 20.04/22.04/latest
- macOS 12/13/14/latest
- 实际上 GitHub Actions 本身是不允许直接连接进行交互式操作
- 但有好事的开发者竟然另辟蹊径通过安装 tmate 来实现了 SSH 连接,并且制作了相关的 action
tmate
- GitHub 项目地址:
- https://github.com/mxschmitt/action-tmate
- 第一个实现 tmate 连接 Actions 的 action,但此方案在退出连接后不能进行到下一个步骤,所以在实际使用中没有多少价值,且极易造成资源浪费,所以只能用于 SSH 连接
- 不过由于其开天辟地的作用,把它放到第一位
- workflow 文件示例:
debugger-action
- GitHub 项目地址:
- GitHub - csexton/debugger-action: Interactive debug session for GitHub Actions
- 此 action 作者受 mxschmitt/action-tmate 启发,同样是通过 tmate 连接,退出连接后可持续进行下一个步骤,能更好的应用到实际项目中使用
- 作者可能考虑到为 GitHub 节约资源,默认加了 15 分钟自动断开连接,不过可以通过执行 touch /tmp/keepalive 命令去解除
- workflow 文件示例: