Back to Gitlabhq

Terminaux web interactifs

doc-locale/fr-fr/ci/interactive_web_terminal/_index.md

19.3.03.9 KB
Original Source

{{< details >}}

  • Édition : Gratuite, GitLab Premium, GitLab Ultimate
  • Offre : GitLab.com, GitLab Self-Managed, GitLab Dedicated

{{< /details >}}

Les terminaux web interactifs donnent à l'utilisateur accès à un terminal dans GitLab pour exécuter des commandes ponctuelles dans son pipeline CI. Vous pouvez le voir comme une méthode de débogage avec SSH, mais effectuée directement depuis la page du job. Étant donné que cela accorde à l'utilisateur un accès shell à l'environnement où GitLab Runner est déployé, certaines précautions de sécurité ont été prises pour protéger les utilisateurs.

[!note] Les runners d'instance sur GitLab.com ne fournissent pas de terminal web interactif. Suivez ce ticket pour suivre l'avancement de l'ajout de la prise en charge. Pour les groupes et les projets hébergés sur GitLab.com, les terminaux web interactifs sont disponibles lorsque vous utilisez votre propre runner de groupe ou de projet.

Configuration {#configuration}

Deux éléments doivent être configurés pour que le terminal web interactif fonctionne :

Prise en charge partielle pour le chart Helm {#partial-support-for-helm-chart}

Les terminaux web interactifs sont partiellement pris en charge dans le chart Helm gitlab-runner. Ils sont activés lorsque :

  • Le nombre de réplicas est égal à un
  • Vous utilisez le service loadBalancer

La prise en charge de la correction de ces limitations est suivie dans les tickets suivants :

Débogage d'un job en cours d'exécution {#debugging-a-running-job}

[!note] Tous les exécuteurs ne sont pas pris en charge.

L'exécuteur docker ne continue pas à s'exécuter une fois le script de build terminé. À ce stade, le terminal se déconnecte automatiquement et n'attend pas que l'utilisateur ait terminé. Suivez ce ticket pour obtenir des mises à jour sur l'amélioration de ce comportement.

Parfois, lorsqu'un job est en cours d'exécution, les choses ne se déroulent pas comme prévu. Il serait utile de disposer d'un shell pour faciliter le débogage. Lorsqu'un job s'exécute, le panneau de droite affiche un bouton debug ({{< icon name="external-link" >}}) qui ouvre le terminal pour le job en cours. Seule la personne qui a démarré un job peut le déboguer.

Une fois sélectionné, 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.

Si votre terminal est ouvert après la fin du job, le job ne se termine pas avant l'expiration de la durée [session_server].session_timeout configurée. Pour éviter cela, vous pouvez fermer le terminal une fois le job terminé.