GitHub Actions 调试工具:action-upterm 使用教程
1. 项目介绍
action-upterm
是一个开源项目,旨在帮助开发者通过 SSH 连接到运行 GitHub Actions 的宿主机系统,从而能够直接交互和调试宿主机上的脚本。这个项目是基于 mxschmitt/action-tmate
的一个分支,使用 upterm
和 tmux
来替代 tmate
。
2. 项目快速启动
以下是一个简单的示例,展示如何使用 action-upterm
创建一个 upterm
会话:
name: CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup upterm session
uses: lhotari/action-upterm@v1
启动工作流后,可以在 PR 的 "Checks" 选项卡中找到 SSH 连接字符串。
3. 应用案例和最佳实践
限制 SSH 访问
默认情况下,任何人都可以连接到 upterm
会话。为了限制访问,可以设置 limit-access-to-actor
或 limit-access-to-users
:
with:
# 只允许触发工作流的用户访问
limit-access-to-actor: true
# 限制访问,仅允许以下 GitHub 用户访问
limit-access-to-users: githubuser1,githubuser2
如果使用的 SSH 公钥不是默认的私钥,需要手动指定路径:
ssh -i <path-to-key> <upterm-connection-string>
使用自定义的 upterm 服务器
按照指南将 Upterm 服务器部署到 Heroku 或其他选项,然后通过 upterm-server
输入参数配置:
with:
upterm-server: wss://YOUR_HEROKU_APP_URL
设置超时
如果希望在没有用户连接的情况下自动关闭服务器,可以设置 wait-timeout-minutes
:
with:
wait-timeout-minutes: 5
继续工作流
如果希望在 upterm
会话中继续工作流,可以创建一个名为 continue
的空文件:
touch continue
或者
sudo touch /continue
关闭终端也会继续工作流,但这样将无法重新连接。
4. 典型生态项目
目前,action-upterm
项目主要集中在调试 GitHub Actions 的场景。在开源生态中,类似的项目可能包括:
- 用于自动化的 GitHub Actions 相关工具和插件。
- 提供远程调试能力的其他 SSH 相关工具。
这些项目通常旨在简化开发者的工作流程,提高代码质量,以及增强开源项目的可维护性。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考