インタラクティブなウェブ端末
GitLab 11.3で導入されました。
インタラクティブウェブターミナルは、ユーザーがGitLabのターミナルにアクセスし、CIパイプラインのための単発のコマンドを実行できるようにします。SSHを使ったデバッグの方法のようなものですが、ジョブページから直接実行することができます。GitLab Runnerがデプロイされている環境にShellでアクセスできるようにするため、ユーザーを保護するためにセキュリティ上の注意が払われています。
設定
対話型ウェブターミナルを動作させるには、2つの設定が必要です:
- ランナーは
[session_server]
を正しく設定する必要があります。 - GitLab インスタンスでリバースプロキシを使っている場合は、ウェブターミナルを有効にする必要があります。
Helmチャートの一部サポート
インタラクティブなウェブ端末は、gitlab-runner
Helmチャートで部分的にサポートされています。以下の場合に有効になります:
- レプリカの数が1
-
loadBalancer
。
これらの制限を修正するためのサポートは、以下のイシューで追跡されています:
実行中のジョブのデバッグ
docker
の Executor は、ビルドスクリプトが終了した後も実行を継続しません。その時点でターミナルは自動的に切断され、ユーザーが終了するまで待機しません。この動作の改善については、このイシューに従ってください。ジョブが実行されているとき、期待通りにいかないことがあります。デバッグを支援するシェルがあると便利です。ジョブが実行されているとき、右のパネルに現在のジョブのターミナルを開くボタンdebug
があります。ジョブを開始した人だけがデバッグできます。
選択すると、ターミナルページに新しいタブが開き、標準的なシェルのようにターミナルにアクセスしてコマンドを入力できます。
ターミナルを開いていて、ジョブがそのタスクを終了した場合、ターミナルウィンドウを閉じるまで、[session_server].session_timeout
で設定された時間、ターミナルはジョブの終了をブロックします。
Web IDE 用の対話型 Web ターミナル
Web IDE 用の対話型 Web ターミナルを実行するには、Web IDE を参照してください。