대화형 웹 터미널

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

대화형 웹 터미널은 사용자에게 CI 파이프라인에서 일회성 명령을 실행할 수 있는 터미널 액세스를 제공합니다. SSH로 디버깅하는 방법으로 생각할 수 있지만 작업 페이지에서 직접 수행됩니다. 이는 사용자에게 GitLab Runner가 배포된 환경에 대한 셸 액세스를 제공하므로 일부 보안 조치가 취해졌습니다.

참고: GitLab.com의 인스턴스 러너는 대화형 웹 터미널을 제공하지 않습니다. 지원 추가에 대한 진행 사항은 이 이슈를 참고하세요. GitLab.com에서 호스팅되는 그룹 및 프로젝트의 경우 자체 그룹 또는 프로젝트 러너를 사용할 때 대화형 웹 터미널을 사용할 수 있습니다.

구성

대화형 웹 터미널을 사용하려면 두 가지를 구성해야 합니다:

Helm 차트의 부분 지원

gitlab-runner Helm 차트에서 대화형 웹 터미널은 부분적으로 지원됩니다. 다음 조건에서 활성화됩니다:

  • 레플리카 수가 하나인 경우
  • loadBalancer 서비스를 사용하는 경우

이러한 제한 사항의 해결 지원은 다음 이슈에서 추적됩니다:

실행 중인 작업 디버깅

참고: 모든 실행자가 지원되지는 않습니다.

참고: docker 실행자는 빌드 스크립트가 완료된 후 계속 실행되지 않습니다. 그 시점에서 터미널이 자동으로 연결을 해제하며 사용자가 완료될 때까지 기다리지 않습니다. 이 동작을 개선하려면 이 이슈를 참고하세요.

가끔 작업을 실행하는 동안 의도한 대로 작동하지 않는 경우 디버깅을 돕는 셸을 가질 수 있으면 도움이 될 수 있습니다. 작업이 실행 중인 경우 오른쪽 패널에서 debug 버튼을 볼 수 있는데, 이 버튼을 클릭하면 현재 작업에 대한 터미널이 열립니다. 작업을 시작한 사람만 디버깅할 수 있습니다.

대화형 웹 터미널이 있는 작업 예시

선택하면 터미널 페이지가 열리고 여기서 표준 셸과 같이 명령을 입력할 수 있습니다.

작업의 터미널

터미널을 열어두고 작업이 해당 작업을 마치면 설정된 기간 동안[session_server].session_timeout에 작업이 끝나지 못하게 막습니다. 이 기간 동안 터미널 창을 닫을 때까지 작업을 마치지 않습니다.

터미널이 열린 완료된 작업

웹 IDE의 대화형 웹 터미널

웹 IDE를 위한 대화형 웹 터미널을 실행하려면 웹 IDE를 참조하세요.