Getting started with interactive web terminals
Introduced in GitLab 11.3.
Interactive web terminals give the user access to a terminal in GitLab for running one-off commands for their CI pipeline.
NOTE: Note: This is not available for the shared Runners on GitLab.com. To make use of this feature, you need to provide your own Runner and properly configure it.
Configuration
Two things need to be configured for the interactive web terminal to work:
- The Runner needs to have
[session_server]
configured properly - If you are using a reverse proxy with your GitLab instance, web terminals need to be enabled
Debugging a running job
NOTE: Note: Not all executors are supported.
NOTE: Note: The docker
executor does not keep running
after the build script is finished. At that point, the terminal will automatically
disconnect and will not wait for the user to finish. Please follow this
issue for updates on
improving this behavior.
Sometimes, when a job is running, things don't go as you would expect, and it
would be helpful if one can have a shell to aid debugging. When a job is
running, on the right panel you can see a button debug
that will open the terminal
for the current job.
When clicked, a new tab will open to the terminal page where you can access the terminal and type commands like a normal shell.
If you have the terminal open and the job has finished with its tasks, the
terminal will block the job from finishing for the duration configured in
[session_server].terminal_max_retention_time
until you
close the terminal window.