交互式 web 终端

交互式 Web 终端允许用户访问极狐GitLab 中的终端,以便为其 CI 流水线运行一次性命令。您可以将其视为使用 SSH 进行调试的一种方法,但直接从作业页面完成。由于这允许用户 shell 访问部署 GitLab Runner 的环境,因此有一些安全预防措施被用来保护用户。

配置

要使交互式 Web 终端工作,需要配置:

  • runner 需要 [session_server] 正确配置
  • 如果您在实例中使用反向代理,则需要启用 web 终端

部分支持 Helm chart

gitlab-runner Helm chart 部分支持交互式 Web 终端。 它们在以下情况下启用:

  • 副本数为 1
  • 您使用 loadBalancer 服务

调试正在运行的作业

note不是所有的 executor 都受支持。
note构建脚本完成后,docker executor 不会继续运行。此时,终端会自动断开连接,不会等待用户完成。

有时,当一项作业正在运行时,事情不会像您预期的那样进行,如果可以有一个 shell 来帮助调试会很有帮助。当作业正在运行时,在右侧面板上您可以看到一个按钮 debug,用于打开当前作业的终端。

Example of job running with terminal
available

单击后,将打开一个新选项卡到终端页面,您可以在其中访问终端并像普通 shell 一样键入命令。

terminal of the job

如果您打开终端并且作业已完成其任务,则终端会在 [session_server].session_timeout 中配置的持续时间内,阻止作业完成,直到您关闭终端窗口。

finished job with terminal open

用于 Web IDE 的交互式 Web 终端

阅读 Web IDE 文档以了解如何运行通过 Web IDE 的交互式终端