Terminaux web interactifs
Cette documentation reprend en partie la documentation GitLab Interactive web terminals. N'hésitez pas à consulter cette dernière pour en savoir plus.
Les terminaux Web interactifs vous permettent d'accéder à un terminal dans GitLab afin d'exécuter des commandes ponctuelles dans vos pipelines de CI. Vous pouvez considérer cela comme une méthode de débogage avec SSH, mais effectuée directement depuis la page des jobs.
Débogage d'une tâche en cours d'exécution
Parfois, lorsqu'une tâche est en cours d'exécution, les choses ne se passent pas comme prévu. Il serait utile de disposer d'un shell pour faciliter le débogage. Lorsqu'une tâche est en cours d'exécution, le panneau de droite affiche un bouton de débogage ( ) qui ouvre le terminal pour la tâche en cours.
Seule la personne qui a lancé une tâche peut la déboguer.

Lorsque cette option est sélectionnée, un nouvel onglet s'ouvre sur la page du terminal où vous pouvez accéder au terminal et saisir des commandes comme dans un shell standard.

L'exécuteur Docker cesse de fonctionner une fois les commandes de la section script terminées. Le terminal se déconnecte automatiquement et n'attend pas que l'utilisateur ait terminé. Consultez cette issue pour obtenir des informations sur l'amélioration de ce comportement.
Configuration
Par défaut, cette option est désactivée et nécessite :
- Un changement de configuration au niveau du Runner
- L'autorisation de requêtes sortantes dans la web UI de GitLab
Configuration du GitLab Runner
Runner managés par adista
Si vos runners sont managés par adista, il vous suffit d'ouvrir un ticket pour nous en faire la demande et nous confirmer que vous avez bien configuré les requêtes sortantes.
Runner self-managed
Si vous hébergez vous-même vos runners, modifiez la section [session_server] du fichier config.toml.
[session_server]
listen_address = "[::]:8093" # Écouter sur toutes les interfaces disponibles en IPv4 et IPv6 sur le port 8093
advertise_address = "my-runner-host-name.tld:8093" # Ou my.runner.IP.address:8093
session_timeout = 1800
Assurez-vous que :
- GitLab peut se connecter à l'
advertise_address. - L
advertise_addressest une adresse IP publique, sauf si vous avez configuré les requêtes sortantes.
Autres cas possibles
Si votre GitLab est hébergé chez adista et que votre runner est hébergé en interne, vous pouvez définir l'advertise_address sur une adresse IP publique.
Pour plus de sécurité, vous pouvez ajouter une règle de firewall n'autorisant que l'adresse IP de votre GitLab à y accéder.
Autorisation des requêtes sortantes
Si l'option requêtes sortantes n'est pas configurée ou si vous la désactivez après coup, il est possible que les runners n'arrivent plus à prendre de job.
Dans l'espace d'administration, dans la section Paramètres > Réseau > Requêtes sortantes, cochez la case Autoriser les requêtes vers le réseau local des crochets Web et des intégrations et cliquez sur Enregistrer les modifications.

