通过tmate 来 SSH 连接到 GitHub Actions
GitHub Actions 是gythub 提供的免费的持续集成服务,大部分人的个人项目都是放在github上,那么使用它来发布、测试、部署,是非常方便的。并且GitHub Actions会为开发者提供一个以下配置的服务器做为 runner,可以说相当的良心。
- 2-core CPU
- 7 GB of RAM memory
- 14 GB of SSD disk space
但是GitHub Actions 本身是不允许直接连接进行交互式操作,但有好事的开发者竟然另辟蹊径通过安装 tmate 来实现了 SSH 连接,并且制作了相关的 action 。这使得我们可以非常容易连接到 Actions 的虚拟环境中,相当于免费获得了 20 台 E5 2vCPU/7G RAM/90G SSD 配置的 VPS 。
我闲的蛋疼没事做,也去测试了一下,下面把方法分享大伙。
食用方法:
1.任意fork下面两个仓库中的一个的地址到自己的仓库
2.到自己仓库的项目Actions创建工作流
3.创建一个新的工作流,并替换对应的demo文件,然后提交
4.等待开始工作
5.开始工作
6.安装tmate
我这里以Ubuntu为例
sudo apt-get install tmate
执行安装指令:
7.在操作日志中找到如下位置的ssh命令:
- 在Ubuntu终端执行链接到GitHub Actions服务器
9.SSH命令连接到GitHub Actions
10.注意:将ssh命令复制到您的终端中以创建正在运行的实例的ssh连接。在关闭与正在运行的实例的ssh连接之后,该会话将立即关闭。15分钟后会出现全局超时。这将关闭所有打开的ssh会话。
要防止会话终止,请运行:
touch /tmp/keepalive
github仓库地址
一、csexton/debugger-action
替换 workflow 文件:
name: Ubuntu
on: [push]
jobs:
Ubuntu:
runs-on: ubuntu-latest
steps:
- name: Setup Debug Session
uses: csexton/debugger-action@master
二、mxschmitt/action-tmate
替换 workflow 文件:
name: CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Setup tmate session
uses: mxschmitt/action-tmate@v1
本文参考于:Vedio Talk - GITHUB | SSH 连接到 GitHub Actions (https://www.vediotalk.com/archives/6704)
su root
password:
小姐姐知道密码是什么吗?
By qian at April 2nd, 2021 at 11:20 pm.