대화형 웹 터미널

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

대화형 웹 터미널은 사용자가 GitLab에서 CI 파이프라인을 위한 일회성 명령을 실행할 수 있는 터미널에 접근할 수 있도록 합니다. 이는 SSH를 통한 디버깅 방법과 유사하지만, 작업 페이지에서 직접 수행됩니다. 이는 사용자가 GitLab Runner가 배포된 환경에 대한 셸 접근을 제공하기 때문에, 사용자를 보호하기 위해 몇 가지 보안 예방 조치가 취해졌습니다.

note
GitLab.com의 인스턴스 러너는 대화형 웹 터미널을 제공하지 않습니다. 지원 추가 진행 상황은 이 문제를 따르세요. GitLab.com에 호스팅된 그룹 및 프로젝트의 경우, 자신의 그룹 또는 프로젝트 러너를 사용할 때 대화형 웹 터미널을 사용할 수 있습니다.

구성

대화형 웹 터미널이 작동하려면 두 가지가 구성되어야 합니다:

Helm 차트에 대한 부분적 지원

대화형 웹 터미널은 gitlab-runner Helm 차트에서 부분적으로 지원됩니다.
이들은 다음과 같은 경우에 활성화됩니다:

  • 복제본 수가 1일 때
  • loadBalancer 서비스를 사용할 때

이러한 제한 사항을 해결하기 위한 지원은 다음 문제에서 추적됩니다:

실행 중인 작업 디버깅

note
모든 실행기는 지원되지 않습니다.
note
docker 실행기는 빌드 스크립트가 완료된 후에는 계속 실행되지 않습니다. 그 시점에서 터미널은 자동으로 연결이 끊기며 사용자가 끝날 때까지 기다리지 않습니다. 이 동작 개선에 대한 업데이트는 이 문제를 따르세요.

때때로 작업이 실행 중일 때 기대한 대로 진행되지 않을 수 있으며, 이때 디버깅에 도움을 줄 수 있는 셸이 있으면 유용합니다. 작업이 실행 중일 때, 오른쪽 패널에서 현재 작업을 위한 터미널을 여는 debug 버튼 ( )을 볼 수 있습니다. 작업을 시작한 사람만이 해당 작업을 디버깅할 수 있습니다.

터미널 사용 가능한 작업 실행 예시

선택하면 터미널 페이지로 이동하는 새 탭이 열리며, 여기에서 표준 셸처럼 명령을 입력할 수 있습니다.

작업의 터미널

터미널을 열고 작업이 작업을 완료했다면, 터미널은 [session_server].session_timeout에서 구성된 기간 동안 작업의 완료를 차단하며, 터미널 창을 닫을 때까지 기다립니다.

터미널이 열려 있는 완료된 작업

웹 IDE를 위한 인터랙티브 웹 터미널

웹 IDE용 인터랙티브 웹 터미널을 실행하려면 웹 IDE를 참조하세요.