交互式 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 的交互式终端