インタラクティブWeb端末

GitLab 11.3で導入されました

インタラクティブウェブターミナルは、CIパイプラインのための単発のコマンドを実行するために、GitLabのターミナルへのアクセスをユーザーに与えます。 これは、GitLab Runnerがデプロイされている環境へのシェルアクセスをユーザーに与えることになるので、ユーザーを保護するためにいくつかのセキュリティ予防措置が取られました。

注:GitLab.com上の共有ランナーでは、インタラクティブなウェブターミナルは提供されていません。 サポートの追加の進捗については、このイシューに従ってください。 GitLab.comでホストされているグループやプロジェクトでは、自分のグループやプロジェクトランナーを使うときにインタラクティブなウェブターミナルが利用できます。

設定

対話型ウェブターミナルを動作させるには、2つのことを設定する必要があります:

注:インタラクティブ・ウェブ・ターミナルは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)。

実行中のジョブのデバッグ

注意:すべてのexecutorがサポートされているわけではありません。
注意: docker の executor は、ビルドスクリプトが終了した後も実行され続けません。 その時点で、ターミナルは自動的に切断され、ユーザーが終了するのを待ちません。 この動作の改善に関する最新情報については、このイシューに従ってください。

ジョブが実行されているとき、思ったようにいかないことがあります。そのとき、デバッグを助けるシェルがあれば便利です。 ジョブが実行されているとき、右のパネルに現在のジョブのターミナルを開くボタンdebug があります。

Example of job running with terminal
available

クリックすると新しいタブが開き、ターミナルページにアクセスし、通常のシェルのようにコマンドを入力することができます。

terminal of the job

ターミナルを開いていて、ジョブがタスクを終了した場合、ターミナルウィンドウを閉じるまで、[session_server].session_timeout で設定された時間、ターミナルはジョブの終了をブロックします。

finished job with terminal open

ウェブIDEのための対話型ウェブ端末

Web IDEからインタラクティブターミナルを実行する方法については、Web IDE のドキュメントをお読みください。