インタラクティブWeb端末
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
インタラクティブWeb端末を使用すると、ユーザーは継続的インテグレーションパイプラインの1回限りのコマンドを実行するために、GitLabのターミナルにアクセスできます。これはSSHでデバッグするのと同じようなものですが、ジョブページから直接実行できます。これは、GitLab Runnerがデプロイされている環境へのShellアクセスをユーザーに許可するため、ユーザーを保護するために、いくつかのsecurity precautionsが講じられました。
GitLab.comのインスタンスRunnerは、インタラクティブWeb端末を提供しません。サポートの追加に関する進捗については、this issueを追跡してください。GitLab.comでホストされているグループとプロジェクトの場合、独自のグループまたはプロジェクトRunnerを使用すると、インタラクティブWeb端末を使用できます。
設定
インタラクティブWeb端末が機能するためには、次の2つの設定が必要です:
- Runnerは、
[session_server]が適切に設定されている必要があります - GitLabインスタンスでリバースプロキシを使用している場合は、Web端末を有効にする必要があります
Helm Chartの部分的なサポート
インタラクティブWeb端末は、gitlab-runnerHelm Chartで部分的にサポートされています。有効になるのは以下の場合です:
- レプリカの数が1つである。
loadBalancerサービスを使用する
これらの制限の修正のサポートは、次のイシューで追跡されます:
実行中のジョブのデバッグ
すべてのexecutorがサポートされているわけではありません。
docker executorは、ビルドスクリプトが完了した後も実行されません。その時点で、ターミナルは自動的に切断され、ユーザーが終了するのを待ちません。この動作の改善に関する最新情報については、this issueを追跡してください。
ジョブの実行中に、予期しない事態が発生することがあります。デバッグを支援するShellがあれば役に立ちます。ジョブが実行されると、右側のパネルにdebugボタン( )が表示され、現在のジョブのターミナルが開きます。ジョブを開始した人のみが、それをデバッグできます。
選択すると、新しいタブがターミナルページで開きます。ここでは、標準Shellのようにターミナルにアクセスし、コマンドを入力できます。
ジョブの完了後にターミナルが開いている場合、設定された[session_server].session_timeout時間が経過するまでジョブは完了しません。これを避けるには、ジョブの完了後にターミナルを閉じてください。


