Interactive Web Terminals [CORE ONLY]

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: does not support interactive web terminal at the moment – neither using shared runners nor your own runners. Please follow this issue for progress.


Two things need to be configured for the interactive web terminal to work:

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.

Example of job running with terminal

When clicked, a new tab will open to the terminal page where you can access the terminal and type commands like a normal shell.

terminal of the job

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.

finished job with terminal open

Interactive Web Terminals for the Web IDE [ULTIMATE ONLY]

Read the Web IDE docs to learn how to run Interactive Terminals through the Web IDE.