InfoGrab DocsInfoGrab Docs

대화형 웹 터미널

CI 파이프라인용 일회성 명령을 실행할 수 있는 대화형 웹 터미널의 구성과 사용 방법을 설명합니다.

대화형 웹 터미널을 사용하면 CI 파이프라인용 일회성 명령을 실행하기 위해 GitLab 안에서 터미널에 접근할 수 있습니다. job 페이지에서 바로 진행하는 SSH 디버깅 방법이라고 생각하면 됩니다. 이는 GitLab Runner 가 배포된 환경에 대한 셸 접근 권한을 사용자에게 부여하는 것이므로, 사용자를 보호하기 위해 일부 보안 조치 가 적용되어 있습니다. Note GitLab.com의 인스턴스 러너 는 대화형 웹 터미널을 제공하지 않습니다. 이 지원 추가에 관한 진행 상황은 이 이슈 를 참고합니다. GitLab.com에서 호스팅되는 그룹과 프로젝트에서는 자체 그룹 또는 프로젝트 러너를 사용할 때 대화형 웹 터미널을 사용할 수 있습니다. 구성 # 대화형 웹 터미널이 동작하려면 다음 두 가지를 구성해야 합니다. 러너에 [session_server] 가 올바르게 구성되어 있어야 합니다. GitLab 인스턴스에서 리버스 프록시를 사용하는 경우, 웹 터미널을 활성화 해야 합니다. Helm 차트 부분 지원 # 대화형 웹 터미널은 gitlab-runner Helm 차트에서 부분적으로 지원됩니다. 다음 조건에서 활성화됩니다. 레플리카 수가 1개인 경우 loadBalancer 서비스를 사용하는 경우 이러한 제한 사항 해결은 다음 이슈에서 추적하고 있습니다. 레플리카 2개 이상 지원 더 많은 서비스 유형 지원 실행 중인 job 디버깅 # Note 모든 Executor가 지원되는 것은 아닙니다 . docker Executor는 빌드 스크립트가 끝난 뒤에는 계속 실행되지 않습니다. 이 시점에 터미널은 자동으로 연결이 끊기며 사용자가 작업을 마칠 때까지 기다리지 않습니다. 이 동작 개선에 관한 업데이트는 이 이슈 를 참고합니다. 사전 요구 사항: 프로젝트에 대해 Developer, Maintainer, Owner 중 하나의 권한이 있거나, 인스턴스에 대한 관리자 접근 권한이 있어야 합니다. 관리자가 아닌 경우 해당 job을 직접 시작했어야 합니다. 인스턴스에서 관리자 모드 가 켜져 있는 경우, 관리자는 자신의 세션에서 관리자 모드를 켜야 합니다. job이 보호된 브랜치에서 실행된 경우, 해당 브랜치에 푸시하거나 머지할 수 있는 권한이 있어야 합니다. job이 보호된 태그에서 실행된 경우, 해당 태그를 생성할 수 있는 권한이 있어야 합니다. 자세한 내용은 CI/CD 권한 을 참고합니다. job이 실행되는 도중에는 때때로 예상과 다르게 흘러가는 경우가 있습니다. 이때 디버깅을 도와줄 셸이 있다면 유용합니다. job이 실행되면 오른쪽 패널에 현재 job의 터미널을 여는 debug 버튼([external-link])이 표시됩니다. job을 시작한 사람만 해당 job을 디버깅할 수 있습니다. 관리자는 자신이 시작하지 않은 job도 디버깅할 수 있습니다. 버튼을 선택하면 새 탭이 열리며, 여기서 터미널에 접근해 표준 셸에서처럼 명령을 입력할 수 있습니다. job이 완료된 뒤에도 터미널이 열려 있으면, 구성된 [session_server].session_timeout