交互式 web 终端
- Tier: 基础版, 专业版, 旗舰版
- Offering: JihuLab.com, 私有化部署
交互式 Web 终端为用户提供了在极狐GitLab中访问终端以运行一次性命令的功能。你可以将其视为一种直接从作业页面进行 SSH 调试的方法。因为这为用户提供了访问 极狐GitLab Runner 部署环境的 shell 权限,所以采取了一些安全预防措施来保护用户。
[Instance runners on JihuLab.com](../runners/_index.md) 不提供交互式 Web 终端。对于托管在 JihuLab.com 上的群组和项目,使用你自己的群组或项目 runner 时可以使用交互式 Web 终端。
配置
需要配置两个事项以使交互式 Web 终端正常工作:
- runner 需要 正确配置 [session_server]
- 如果你正在使用反向代理与极狐GitLab 实例,Web 终端需要被 启用
Helm Chart 的部分支持
交互式 Web 终端在 gitlab-runner Helm chart 中得到部分支持。它们在以下情况下启用:
- 副本数为一
- 你使用 loadBalancer 服务
调试正在运行的作业
并非所有执行器都被[支持](https://gitlab.cn/docs/runner/executors/#compatibility-chart)。
`docker` 执行器在构建脚本完成后不继续运行。此时,终端会自动断开连接,并且不会等待用户完成。
有时,当作业正在运行时,事情并不像你预期的那样。这时如果能够使用 shell 来帮助调试会很有用。当作业运行时,右侧面板显示一个 debug 按钮 (
),该按钮打开当前作业的终端。只有启动作业的人才能调试它。
选择后,会打开一个新标签页到终端页面,你可以像在标准 shell 中一样访问终端并输入命令。

如果你的终端在作业完成后仍然打开,作业不会在配置的 [session_server].session_timeout 时长结束之前完成。为避免这种情况,可以在作业完成后关闭终端。
