대화형 웹 터미널
CI/CD 파이프라인 디버깅을 위해 GitLab의 대화형 웹 터미널을 사용하는 방법을 설명합니다.
대화형 웹 터미널은 CI 파이프라인에 대한 일회성 명령을 실행하기 위해 GitLab의 터미널에 대한 접근을 사용자에게 제공합니다. SSH를 사용한 디버깅 방법으로 생각할 수 있지만 job 페이지에서 직접 수행됩니다. 이는 GitLab Runner 가 배포된 환경에 대한 셸 접근 권한을 사용자에게 제공하는 것이므로 사용자를 보호하기 위해 일부 보안 예방 조치 가 취해졌습니다. Note GitLab.com의 인스턴스 runner 는 대화형 웹 터미널을 제공하지 않습니다. 지원 추가 진행 상황은 이 이슈 를 팔로우하세요. GitLab.com에 호스팅된 그룹 및 프로젝트의 경우 자체 그룹 또는 프로젝트 runner를 사용할 때 대화형 웹 터미널을 사용할 수 있습니다. 구성 # 대화형 웹 터미널이 작동하려면 두 가지를 구성해야 합니다: runner에는 [session_server] 가 올바르게 구성 되어 있어야 합니다. GitLab 인스턴스에 역방향 프록시를 사용하는 경우 웹 터미널을 활성화 해야 합니다. Helm 차트에 대한 부분 지원 # 대화형 웹 터미널은 gitlab-runner Helm 차트에서 부분적으로 지원됩니다. 다음 경우에 활성화됩니다: 레플리카 수가 하나인 경우 loadBalancer 서비스를 사용하는 경우 이러한 제한 사항을 수정하기 위한 지원은 다음 이슈에서 추적됩니다: 둘 이상의 레플리카 지원 더 많은 서비스 유형 지원 실행 중인 job 디버깅 # Note 모든 executor가 지원 되지는 않습니다. docker executor는 빌드 스크립트가 완료된 후 계속 실행되지 않습니다. 해당 시점에 터미널이 자동으로 연결을 끊고 사용자가 완료할 때까지 기다리지 않습니다. 이 동작을 개선하기 위한 업데이트는 이 이슈 를 팔로우하세요. 때로는 job이 실행 중일 때 예상대로 진행되지 않습니다. 디버깅을 위한 셸이 있으면 도움이 됩니다. job이 실행될 때 오른쪽 패널에 현재 job에 대한 터미널을 여는 debug 버튼([external-link])이 표시됩니다. job을 시작한 사람만 디버깅할 수 있습니다. 선택하면 터미널 페이지가 새 탭으로 열리고 표준 셸처럼 터미널에 접근하고 명령을 입력할 수 있습니다. job이 완료된 후 터미널이 열려 있으면 구성된 [session_server].session_timeout 기간이 지날 때까지 job이 완료되지 않습니다. 이를 방지하려면 job이 완료된 후 터미널을 닫을 수 있습니다.
