使用 SSH 连接 GitHub Action 服务器

Posted by 汤键|兔子队列 on January 23, 2024 禁止转载
本文总共 728 字 · 阅读全文大约需要 3 分钟

前言

  • Github Actions 是 GitHub 推出的持续集成 (Con­tin­u­ous in­te­gra­tion,简称 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 Ac­tions 本身是不允许直接连接进行交互式操作
  • 但有好事的开发者竟然另辟蹊径通过安装 tmate 来实现了 SSH 连接,并且制作了相关的 ac­tion

tmate

  • GitHub 项目地址:
  • https://github.com/mxschmitt/action-tmate
  • 第一个实现 tmate 连接 Ac­tions 的 ac­tion,但此方案在退出连接后不能进行到下一个步骤,所以在实际使用中没有多少价值,且极易造成资源浪费,所以只能用于 SSH 连接
  • 不过由于其开天辟地的作用,把它放到第一位
  • work­flow 文件示例:

debugger-action

  • GitHub 项目地址:
  • https://github.com/csexton/debugger-action
  • 此 ac­tion 作者受 mxschmitt/action-tmate 启发,同样是通过 tmate 连接,退出连接后可持续进行下一个步骤,能更好的应用到实际项目中使用
  • 作者可能考虑到为 GitHub 节约资源,默认加了 15 分钟自动断开连接,不过可以通过执行 touch /tmp/keepalive 命令去解除
  • work­flow 文件示例: