正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

インタラクティブ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つの設定が必要です:

Helm Chartの部分的なサポート

インタラクティブWeb端末は、gitlab-runnerHelm Chartで部分的にサポートされています。有効になるのは以下の場合です:

  • レプリカの数が1つである。
  • loadBalancerサービスを使用する

これらの制限の修正のサポートは、次のイシューで追跡されます:

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

すべてのexecutorがサポートされているわけではありません。

docker executorは、ビルドスクリプトが完了した後も実行されません。その時点で、ターミナルは自動的に切断され、ユーザーが終了するのを待ちません。この動作の改善に関する最新情報については、this issueを追跡してください。

ジョブの実行中に、予期しない事態が発生することがあります。デバッグを支援するShellがあれば役に立ちます。ジョブが実行されると、右側のパネルにdebugボタン( external-link )が表示され、現在のジョブのターミナルが開きます。ジョブを開始した人のみが、それをデバッグできます。

利用可能なターミナルによるジョブの実行例

選択すると、新しいタブがターミナルページで開きます。ここでは、標準Shellのようにターミナルにアクセスし、コマンドを入力できます。

ジョブのターミナルページで実行されているコマンド

ジョブの完了後にターミナルが開いている場合、設定された[session_server].session_timeout時間が経過するまでジョブは完了しません。これを避けるには、ジョブの完了後にターミナルを閉じてください。

アクティブなターミナルセッションでジョブが完了しました