Interactive web terminals for CI/CD jobs
Problem to solve
CI/CD jobs are executed by runners based on the configuration provided by users in their pipeline definition. But this execution is not interactive and, in case of failure, users cannot dig into details to spot the possible source of the problem.
When a test fails, users may want to inspect files and to run commands. This is a huge improvement to the current status, where output is the only feedback they get.
If we make the session where the job has been executed live, users can access it and get what they need. This could be something similar to what we already have to inspect deployments (https://docs.gitlab.com/ee/administration/integration/terminal.html)
Implement the ability to connect to a running job session from the GitLab UI. Once opened, the terminal will allow users to interact with the session. The session will stay open after the end of the execution for a specific amount of time, to allow users to do further investigations. Then it will be automatically closed to free up resources.
Links / references
Similar to http://circleci.com/docs/1.0/ssh-build/