インタラクティブWeb端末
GitLab 11.3で導入されました。
インタラクティブウェブターミナルは、CIパイプラインのための単発のコマンドを実行するために、GitLabのターミナルへのアクセスをユーザーに与えます。 これは、GitLab Runnerがデプロイされている環境へのシェルアクセスをユーザーに与えることになるので、ユーザーを保護するためにいくつかのセキュリティ予防措置が取られました。
設定
対話型ウェブターミナルを動作させるには、2つのことを設定する必要があります:
- Runner は
[session_server]
を正しく設定する必要があります。 - GitLabインスタンスでリバースプロキシを使っている場合は、ウェブターミナルを有効にする必要があります。
gitlab-runner
Helm chartではまだサポートされていませんが、サポートされる](https://docs.gitlab.com/charts/charts/gitlab/gitlab-runner/index.html)予定です](https://docs.gitlab.com/charts/charts/gitlab/gitlab-runner/index.html)。実行中のジョブのデバッグ
docker
の executor は、ビルドスクリプトが終了した後も実行され続けません。 その時点で、ターミナルは自動的に切断され、ユーザーが終了するのを待ちません。 この動作の改善に関する最新情報については、このイシューに従ってください。ジョブが実行されているとき、思ったようにいかないことがあります。そのとき、デバッグを助けるシェルがあれば便利です。 ジョブが実行されているとき、右のパネルに現在のジョブのターミナルを開くボタンdebug
があります。
クリックすると新しいタブが開き、ターミナルページにアクセスし、通常のシェルのようにコマンドを入力することができます。
ターミナルを開いていて、ジョブがタスクを終了した場合、ターミナルウィンドウを閉じるまで、[session_server].session_timeout
で設定された時間、ターミナルはジョブの終了をブロックします。
ウェブIDEのための対話型ウェブ端末
Web IDEからインタラクティブターミナルを実行する方法については、Web IDE のドキュメントをお読みください。